Ruby on rails 在RubyonRails中提交后,如何告诉注册页面重定向到哪里?

Ruby on rails 在RubyonRails中提交后,如何告诉注册页面重定向到哪里?,ruby-on-rails,security,Ruby On Rails,Security,我有一个RubyonRails应用程序,它有一个注册页面。不同的页面重定向到注册页面,需要在注册完成后设置另一个页面以重定向到该页面。最好的方法是什么?我目前正在这样做: 链接到“/signup”重定向=/blah/page6 …并在注册控制器中获取重定向变量,并使用该变量设置注册后页面。我担心这可能会导致一些安全问题,但我不是很确定 这是可以接受的还是有更好的方法?我在我的应用程序\u controller.rb中使用这两种方法来帮助解决这个问题: def store_location s

我有一个RubyonRails应用程序,它有一个注册页面。不同的页面重定向到注册页面,需要在注册完成后设置另一个页面以重定向到该页面。最好的方法是什么?我目前正在这样做:

链接到“/signup”重定向=/blah/page6

…并在注册控制器中获取重定向变量,并使用该变量设置注册后页面。我担心这可能会导致一些安全问题,但我不是很确定


这是可以接受的还是有更好的方法?

我在我的
应用程序\u controller.rb中使用这两种方法来帮助解决这个问题:

def store_location
  session[:return_to] = params[:redirect]
end

def redirect_back_or_default(default)
  redirect_to(session[:return_to] || default)
  session[:return_to] = nil
end
当他们到达注册页面时,只需运行
store\u location
,完成后,使用
redirect\u back\u或\u default
方法


(当然可以根据您的喜好修改)

您是否使用插件/gem进行身份验证?如果你没有的话,我建议清除或设计。许可会自动将您重定向到“您来自何处”,并且两者都像开发人员的100人一样安全,他们正在开发并使用它们(因此这意味着非常安全)

现在我更喜欢说了这么多的话就想办法


Garrett的解决方案似乎来自Restful身份验证,这是另一个很好的身份验证插件。

是的,我正在使用Restful身份验证。很可能,这只是我收集到我现在非常健壮的
应用程序\u controller.rb中的一段代码,我发现它很有用。虽然我确实在Authlogic中使用了它,但只要在过滤器之前使用
,我就会自动触发它。