2014-12-12 2 views
-4

У меня есть контроллер, в этом контроллере @ Текущий пользователь в порядке, новый, создает, но не работает в def _params, например, @ current_user.role: undefined method `role 'для ноль: NilClass. Спасибо.Rails current_user nil

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

ОШИБКА: не определен метод `роль» для ноль: NilClass

+1

Не могли бы вы отобразить этот код контроллера? –

+0

Пожалуйста, укажите дополнительную информацию. См. Также [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). Также рассмотрите возможность использования [Tour] (http://stackoverflow.com/tour). – seong

+0

Где находится '@ current_user'? Вы используете Devise? – mmichael

ответ

0

@current_user определяется в фильтре на begginng, но только для определенных действий. Параметры компании, похоже, не включены в список. Попробуйте добавить его.

before_action :set_current_user, only: [:balbalba, :company_params] #might look different 
Смежные вопросы