清除gem Auth - 未定义的局部变量或方法`_current_user_id'

时间:2018-03-28 17:07:42

标签: ruby-on-rails

我在我的rails应用程序中使用清除gem进行身份验证,我正在尝试在我的create方法中使用当前用户方法。我收到了这个错误。

> ReportsController中的NameError #create 未定义的局部变量或#

的方法`_current_user_id'

这是创建方法代码

def create
    @report = Report.new(report_params)
    @report.user_id = current_user_id
    @report.patient_id = @patient.id

    if @report.save
        redirect_to patient_path(@patient)
    else
        render 'new'
    end
end

1 个答案:

答案 0 :(得分:0)

def create
    @report = Report.new(report_params) do |r|
      r.user = current_user
      r.patient = @patient
    end

    if @report.save
      redirect_to patient_path(@patient)
    else
      render :new
    end
end

在Rails中分配关联时无需显式映射id - 只需传递记录本身。

如果您真的想要使用current_user.id