2014-07-27 3 views
0

Я только что последовал за this руководством для добавления имен столбцов и «второго имени» в пользовательскую модель Devise со следующими командами.Сохранение пользовательских полей в разработке Модель пользователя в Rails 4.1.4

rails generate migration add_firstname_to_user firstname:string 
rails generate migration add_secondname_to_user secondname:string 

и я aplied изменения с:

rake db:migrate 

Он работал правильно, потому что я могу видеть эти поля с помощью консоли с User.all, однако проблема у меня сейчас является то, что я не» t см. поле attr_accessible в app/model/user.rb.

Так я добавил следующие строки:

<div><%= f.label :first_name %><br /> 
    <%= f.text_field :firstname, autofocus: true %></div> 

<div><%= f.label :second_name %><br /> 
    <%= f.text_field :secondname, autofocus: true %></div> 

в new.html.erb в приложение/просмотров/DEViSE/регистрации, но это не работает, потому что я заметил, что Firstname и secondname атрибуты ноль для пользователей, которых я зарегистрировал.

Что я могу сделать? Я думаю, что-то о шаге attr_accessible, но я не смог его найти.

Любая помощь будет оценена по достоинству.

+0

Можете ли вы разместить свой «контроллер»? Вы должны добавить эти атрибуты в список «разрешенных параметров». – Pavan

ответ

1

Для «имени» пользовательские поля и «второе имя», вы можете сделать их доступными, добавив следующий код в контроллере приложения

class ApplicationController < ActionController::Base 
    before_filter :configure_permitted_parameters, if: :devise_controller? 

    protected 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email, :firstname, :secondname) } 
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation, :firstname, :secondname) } 
    devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :email, :password, :password_confirmation, :current_password, :firstname, :secondname) } 
    end 
end 

Вы можете добавить больше настраиваемых полей и позволяет им здесь, Изменение в соответствии с вашими потребностями.

+0

thanx это работает для меня :) –

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