Rails current_user nil

时间:2014-12-12 13:22:15

标签: ruby-on-rails

我有一个控制器,在这个控制器中@current用户可以在show,new,create中使用,但在def _params中不起作用,例如,@ current_user.role: nil的未定义方法`role':NilClass。 感谢。

def company_params
  if @current_user.role.name != 'admin'
    params[:company_id] = @current_user.company.id
  end
  params.require(:company).permit(.........)
end

错误:nil的未定义方法`role':NilClass

1 个答案:

答案 0 :(得分:0)

@current_user在开头的过滤器中定义,但仅适用于已定义的操作。公司params似乎没有列入清单。尝试添加它。

before_action :set_current_user, only: [:balbalba, :company_params] #might look different