【问题标题】:Clearance undefined method sign_in for nil:NilClass清除 nil:NilClass 的未定义方法 sign_in
【发布时间】:2014-08-22 09:03:35
【问题描述】:

我正在使用 Clearance 进行身份验证,并且我正在尝试创建一个用户并让他们登录,应该很简单。出于某种原因,user 保存得很好,但是当我调用sign_in @user 时,它会显示 `undefined method 'sign_in' for nil:NilClass。我的代码如下。

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

【问题讨论】:

    标签: ruby-on-rails clearance


    【解决方案1】:

    事实证明,我将它与 RSpec 一起使用,并且需要将 require clearance/rspec 添加到我的 spec_helper

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多