1

这可能是一个愚蠢的问题,但我正在使用 Devise 完成这个应用程序,我只是想知道, , 和 & 之间有什么显着authenticate_user!区别user_signed_in?if current_user?如果是这样,那么在什么情况下我不会使用其中一种?

谢谢

4

2 回答 2

2

不确定您所说的“显着差异”是什么意思,所有这些都做不同的事情:

authenticate_user!  # Signs user in or redirect
user_signed_in?     # Checks whether there is a user signed in or not
current_user        # Current signed in user

来源:https ://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb

于 2013-08-06T17:40:02.147 回答
2

只需阅读变量名称,您就会发现它们不是一回事。

authenticate_user!

这是一种检查用户身份验证的方法,即检查登录名和密码是否匹配。

user_signed_in?

此方法检查用户是否在应用程序上登录。如果会话中有任何数据告诉应用程序用户已登录。

current_user

这将获取在应用程序中登录的用户。

于 2013-08-06T17:40:11.003 回答