我有一个红宝石的Rails应用程序,它有一个注册页面。不同的页面重定向到注册页面,并且在注册完成后需要设置另一页面以重定向到。做这个的最好方式是什么?目前,我正在这样做:如何在红宝石轨道上提交注册页面后重定向到哪里?
的link_to“/注册重定向= /胡说/页6
...并获得在注册控制器重定向变量,并使用该设置后注册页面。我担心这可能会导致一些安全问题,但我并不确定。
这是可以接受的还是有更好的方法?
我有一个红宝石的Rails应用程序,它有一个注册页面。不同的页面重定向到注册页面,并且在注册完成后需要设置另一页面以重定向到。做这个的最好方式是什么?目前,我正在这样做:如何在红宝石轨道上提交注册页面后重定向到哪里?
的link_to“/注册重定向= /胡说/页6
...并获得在注册控制器重定向变量,并使用该设置后注册页面。我担心这可能会导致一些安全问题,但我并不确定。
这是可以接受的还是有更好的方法?
我使用这2种方法来帮助这在我application_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_location
,当它完成和完成后,使用redirect_back_or_default
方法。
(当然修改这个根据自己的喜好)
你有没有用于身份验证的插件/宝石?如果你没有,我建议清除或设计。许可将你自动地重定向到“你从哪里来”,并且两者都像开发人员一样安全,并且使用它们已经让它成为(这意味着相当安全)。
现在我更喜欢Devise说了这一切。
Garrett的解决方案看起来像来自Restful身份验证,这是另一个好的身份验证插件。
是的,我正在使用宁静的身份验证 – NotDan 2009-12-29 00:22:55
最有可能的是,这只是我已经收集到我现在非常强大的'application_controller.rb'中的一段代码,我发现它很有用。虽然我在Authlogic中使用了这个,但是使用'before_filter'会自动为我启动。 – Garrett 2009-12-29 00:24:18