![](/img/trans.png)
[英]Devise User Inheritance and user_signed_in? and current_user
[英]devise rails current_user vs user_signed_in?
我正在使用Devise on Rails 4.1我的问题是关于帮助者以及它们与会话的关系。 current_user:告诉您是否有可供该用户使用的用户会话。 user_signed_in:告诉您用户是否经过身份验证。
如果user_signed_in,我无法理解如何有一个current_user? 是假的?
这两种方法有什么区别,它与会话有什么关系。
谢谢。 理查德麦德森
user_signed_in?
是为了方便。 你的断言是正确的,如果user_signed_in?
是false
,永远不会有current_user
。
在设计源代码中 ,我们可以看到:
def #{mapping}_signed_in?
!!current_#{mapping}
end
( user
取代#{mapping}
)
user_signed_in?
简单地返回current_user
的真实性,即如果current_user
为nil
则返回false
。
current_user方法返回当前登录用户,而user_signed_in? method用于验证是否有用户登录并返回true或false。 if user_signed_in? 如果为false,则current_user方法将返回nil。
https://github.com/plataformatec/devise#controller-filters-and-helpers
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.