簡體   English   中英

更新Rails之后的上一頁

[英]Previous page after updating rails

更新鏈接后,我想返回上一頁。 這是我的鏈接控制器:

def update

  if @link.update(link_params)
    redirect_to :back
  else
    format.html { render :edit }
    format.json { render json: @link.errors, status: :unprocessable_entity }
  end
end

盡管該鏈接確實更新,但該頁面僅刷新,而不返回到上一頁。 有人可以幫我指出我在做什么錯嗎? 謝謝!

介紹人

每次在應用程序中加載控制器動作時,您都會獲得一個request對象 ,該對象 具有referer屬性

def update

  if @link.update(link_params)
    redirect_to request.referer 
  else
    format.html { render :edit }
    format.json { render json: @link.errors, status: :unprocessable_entity }
  end
end

問題在於,您正在以某種瀏覽器的方式發送請求,使其希望像處理新頁面一樣處理響應。 redirect_to :back只是告訴Rails發送引薦來源網址作為重定向URL。 如果代碼讀為redirect_to 'http://google.com'您希望瀏覽器轉到google.com,不是嗎? 正確的做法是使用javascript進行異步調用,並在成功時使用javascript返回。

如何進行取決於您使用的JavaScript庫。 只需進行調用,然后在成功函數中調用window.history.back() ,瀏覽器就會返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM