我正在使用Clearance进行身份验证,我正在尝试创建用户并对其进行签名,应该很简单。出于某种原因,user
保存得很好但是当我调用sign_in @user
时,它为nil:NilClass表示`undefined method'sign_in'。我的代码如下。
def create
@user = user_from_params
respond_to do |format|
if @user.save
sign_in @user
redirect_to new_company_path
else
format.html { render :new }
end
end
end
private
def user_from_params
email = user_params.delete(:email)
password = user_params.delete(:password)
User.new(user_params).tap do |user|
user.email = email
user.password = password
user.admin = true
end
end
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password)
end
答案 0 :(得分:4)
事实证明我在 RSpec 中使用此功能,并且需要将require clearance/rspec
添加到我的spec_helper