回答
设计成功登录时更新user.current_sign_in_at
时间戳的值。所以,您可以简单地将before_save
筛选器添加到您的用户模型中。在该过滤器中,检查该字段的值是否已更改,如果有,请设置用户位置。
顺便说一句 - 我不确定你的意思是“位置” - 如果你的意思是IP地址,Devise已经为你储存了它。
这是来自devise wiki的页面:How To: Redirect to a specific page on successful sign in。
综上所述,建议是通过以下方法添加到应用控制器:
应用程序/控制器/ application_controller.rb
def after_sign_in_path_for(resource)
custom_location_for(resource) || welcome_path
end
在上面的代码,resource
指对象(用户,帐户等),你已经实现了设计认证。 (在你的路线中拥有devise_for
的对象)。
就我而言,这实际上是造成注册过程的一个问题。在我的情况下,注册控制器 - >确认电子邮件 - >确认控制器,然后直接到sign_in_and_redirect,这似乎跳过after_sign_in_path_for ...可能是一个本地化问题,但值得在每种情况下测试;) – pdelanauze
设计建立在监狱长身上,所以你可以使用监狱的after_authentication挂钩。
把这个在一个初始化:
Warden::Manager.after_authentication do |user,auth,opts|
# do something with user
end
远程IP地址和其它请求信息被存储在auth.request(即auth.request.remote_ip)。
- 1. 导轨:设计:用户
- 2. 导轨 - 设计和acts_as_audited
- 3. mongomapper导轨3和设计
- 4. 设计路由导轨4
- 5. gdb挂钩设置中断
- 6. SetParent挂钩,你怎么解除挂钩?
- 7. 在挂钩程序中访问挂钩
- 8. 监视TFS服务挂钩/ Web挂钩
- 9. SVN锁定挂钩错误:预计opaquelocktoken
- 10. 奇怪的设计/守望者挂钩错误/行为
- 11. 什么会导致Windows取消挂钩低级(全局)键盘挂钩?
- 12. PR_Write挂钩后
- 13. matplotlib挂钩
- 14. 挂钩ADO.Net
- 15. Wordpress挂钩
- 16. Codeigniter挂钩
- 17. Windows DNS挂钩
- 18. IMAGE_DOS_HEADER挂钩
- 19. 导轨设计问题 - “现在热右”
- 20. Ext Js GUI设计器和导轨
- 21. 设计登录根路线导轨3
- 22. Woocommerce - 挂钩设置产品重量save_post
- 23. 通过mook的Winapi挂钩导致程序崩溃或挂起
- 24. 试图挂钩Notepad.exe
- 25. GIT预接挂钩
- 26. Git挂钩管理
- 27. Subversion挂钩问题
- 28. Java键盘挂钩
- 29. 挂钩extTextOut问题
- 30. 挂钩可可API?
并不是关键,但我很担心混合“controller'型逻辑(该页面直接某人)的模型类。这似乎模糊了Model-View-Controller的清晰分离。 –
不知道为什么我没有想到这个!我正在使用他们的知识产权来获得他们与Geocoder的aprox位置,然后在我们维护的城市数据库中查找最近的城市。这应该完美,非常感谢。 – Marc
凯文 - “位置”他并不是指URL(最初并不清楚)。 – cailinanne