Lec*_*ico 23 ruby redirect ruby-on-rails
我正在尝试使用以下内容:
class PaymentsController < ApplicationController
def addproduct
(session[:products] ||= []) << params[:item]
redirect_to :back
end
end
Run Code Online (Sandbox Code Playgroud)
我有这个例外:
undefined method `back_url' for #<PaymentsController:0x007ff682c467a8>
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
Sur*_*rya 76
Rails 5有redirect_back,而不是redirect_to :back.当请求HTTP_REFERER不存在时,它被用来引发异常.
所以使用这个:
redirect_back fallback_location: root_path
Run Code Online (Sandbox Code Playgroud)
您可以root_path根据自己的要求更改为其他内容.
spi*_*ann 11
redirect_to :back在Rails 5.0中已弃用(请参阅PR),并在Rails 5.1中删除
请改用以下内容:
redirect_back(fallback_location: root_path)
Run Code Online (Sandbox Code Playgroud)