我正在使用Devise on Rails 4.1我的问题是关于助手以及它们与会话的关系。current_user:告诉您是否有用户可用的用户会话。user_signed_in:告诉您用户是否已通过身份验证。
我不能理解如果user_signed_in可以有一个current_user?是假的吗?
两种方法之间的区别是什么,它与会话有什么关系。
谢谢。理查德·麦森(Richard Madson)
user_signed_in?
为方便起见。你的主张user_signed_in?
是对的,如果是的话false
,那就永远不会有current_user
。
在设计源代码中,我们可以看到:
def #{mapping}_signed_in? !!current_#{mapping} end
(user
代替#{mapping}
)
user_signed_in?
只是返回的感实性current_user
,即,false
如果current_user
是nil
。