Devise何时存储stored_location_for_resource的位置

时间:2012-11-06 22:48:56

标签: ruby-on-rails authentication redirect devise

当该页面需要在Devise Resetting Session On Login中签名时,我遇到了重定向到上次访问过的网页的问题,并且有人指出您可以按照此处的代码示例进行操作:https://github.com/plataformatec/devise/wiki/How-To%3A-redirect-to-a-specific-page-on-successful-sign-in

该示例调用stored_location_for(resource) ...该集在哪里?

当我在适当的控制器中与before_filter :authenticate_user!一起使用时,该示例非常有效。查看authenticate_#{resource}!https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb的源代码,它似乎无法保存位置。

世界上哪里存储了以前的位置?

1 个答案:

答案 0 :(得分:3)

路径存储在session["user_return_to"]中(假设user是您的型号名称)。

这似乎是由failure_app.rb

中的store_location!设置的

请注意,如果您只有一个设计模型,则登录重定向应该会自动生效,而无需覆盖after_sign_in_path_for中的application_controller.rb