使用 devise 这个 gem 包,在需要登录的地方都用 before_filter :authenticate_user! 来控制,如果用户没有登录,他会执行Devise::SessionsController#new这个方法,跳转到注册页面。
我想在跳转到注册页面之前再做个判断,然后根据判断结果选择是注册还是登录。
覆盖这个方法,wiki 里面有。
也可以写一个方法,自己做判断呗,user_signed_in?可以判断用户是否登录,这样跳转也要自己来了
希望可以帮到你 How-To:-Redirect-to-a-specific-page-when-the-user-can-not-be-authenticated
试试这个 http://stackoverflow.com/questions/23555618/redirect-to-log-in-page-if-user-is-not-authenticated-with-devise
或者使用本站的写法 https://github.com/ruby-china/ruby-china/blob/master/app/controllers/application_controller.rb#L67
感谢各位的热心回答,因项目实际需求最后采用 @shallmentmo and @dingjop 的方案,这个最适合我,我也最容易理解、、、再次感谢各位 @flowerwrong and @huopo125