我正在使用Devise进行身份验证,当有人访问特定URL(URL中带有特定参数)时,我想将"current_user"设置为数据库中的特定值。
我该怎么做?
另外,我是否必须确保满足所有验证要求? 例如,我的用户模型具有:
validates_presence_of :username, :email
如果我设置了current_user,我是否必须同时设置 :username 和 :email,或者我可以只做一个或另一个?
你可以
试试
@user = User.where(:x => "y").first # Find the user depending on the params
sign_in(@user)
# do work
sign_out(@user)
我不知道这是否是最好的方法,但它会设置current_user
.
devise 的 current_user
助手将实例变量设置为 @current_user,因此这样做:
@current_user = User.first
还将current_user设置为所选用户。