2016-09-09 4 views
0

Я пытаюсь добавить новый столбец в модель пользовательских моделей. Но я получаю сообщение об ошибке в этом файле. Я выполнил миграцию, чтобы изменить столбец, добавил текстовые поля в представление уже. СпасибоПочему я получаю ошибку: «неопределенный метод» для «»?

class ApplicationController < ActionController::Base 
    before_action :configure_devise_permitted_parameters, if:  :devise_controller? 

    protected 

    def configure_devise_permitted_parameters 
    registration_params = [:full_name, :email, :password, :password_confirmation] 

    if params[:action] == 'update' 
     devise_parameter_sanitizer.for(:account_update) { 
     |u| u.permit(registration_params << :current_password)} 
    else 
     if params[:action] == 'create' 
      devise_parameter_sanitizer.for(:sign_up) { 
      |u| u.permit(registration_params) 
     } 
    end 
    end 

end 
+0

Похож завещанием изменилось: http://stackoverflow.com/questions/37341967/rails- 5-undefined-method-for-dev-on-line-devise-parameter-sanitizer –

ответ

0

Параметр дезинфицирующее API изменилось Завещания 4

Documentation for Devise 4

Вам нужно заменить for с permit:

devise_parameter_sanitizer.permit(:sign_up) { 
     |u| u.permit(registration_params) 
    } 

Documentation for Devise 3

Y наш текущий метод должен работать в Devise 3 i.e:

devise_parameter_sanitizer.for(:sign_up) { 
     |u| u.permit(registration_params) 

Надеюсь, что это сработает!

+0

большое спасибо! работал как красавица – koz

+0

@koz рад, что это сработало для вас! – dp7

0

для метода является устаревшим в последней версии завещать, так что вам нужно использовать разрешение вместо для

Смежные вопросы