Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 设计返回URL_Ruby On Rails_Ruby_Devise - Fatal编程技术网

Ruby on rails 设计返回URL

Ruby on rails 设计返回URL,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,在我的应用程序控制器中,我有 class ApplicationController < ActionController::Base protect_from_forgery before_filter :save_location def save_location session[:user_return_to] = request.url unless request.url =~ %r{/} end end class ApplicationContro

在我的应用程序控制器中,我有

class ApplicationController < ActionController::Base
  protect_from_forgery
  before_filter :save_location
  def save_location
    session[:user_return_to] = request.url unless request.url =~ %r{/}
  end
end
class ApplicationController

…这将保存位置,以便用户登录时返回该URL。当用户注销时,是否可以执行相同的操作?

您可以在应用程序控制器上为方法注销后定义Desive的内置,正如他们在wiki上解释的那样:

太好了。我是否应该将prefore\u filter和save\u location设置为private,就像designe将其after\u sign\u path\u设置为private一样?将非操作(意味着没有URL会解析)的控制器方法保持在private下是一个很好的做法,因此只将您的方法设置为private,将prefore\u filter调用保留在原处;)啊,对。我尝试在注销路径后为
def使用
session[:user\u return\u to]=request.url,除非request.url=~%r{/}
,但它返回了一个错误。以前有没有更简单的方法返回URL?