2015-07-17 1 views
1

Я пытаюсь добавить имя, фамилию и дату рождения, чтобы разработать регистрацию в Spree.Добавление имени в Spree Devise registration

Я установил камень

gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: '3-0-stable' 

Создана миграцию:

class AddFieldsToSpreeUsers < ActiveRecord::Migration 
     def change 
     add_column :spree_users, :name, :string 
     add_column :spree_users, :surname, :string 
     add_column :spree_users, :birthdate, :time 
     end 
    end 

создал новую форму для добавления полого приложения/просмотры/Шпрее/общие/_user_form.html.erb

Определен метод в прикладном контроллере для запуска с использованием перед действием

class ApplicationController < ActionController::Base 
     # Prevent CSRF attacks by raising an exception. 
     # For APIs, you may want to use :null_session instead. 
     protect_from_forgery with: :exception 

     before_action :set_locale 
     before_filter :configure_permitted_parameters, if: :devise_controller? 

     def set_locale 
     I18n.locale = params[:locale] || I18n.default_locale 
     end 

    protected 

     def configure_permitted_parameters 
     devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password, :name, :surname, :birthdate) } 
     devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:email, :password, :name, :surname, :birthdate) } 
     end 

    end 

И я все еще получаю никаких записей в базе данных

<Spree::User id: 2, encrypted_password: "bdd86072513f789da5a395080e3d16e28c96cfe5e3aaea105b...", 
... , name: nil, surname: nil, birthdate: nil> 

Вот лог консоли для пользовательской формы добавления представить действие:

Started POST "/signup" for ::1 at 2015-07-21 09:52:08 -0500 
Processing by Spree::UserRegistrationsController#create as HTML 
Parameters: {"utf8"=>"✓", "authenticity_token"=>"+9EoKHj9fkHqKF8TRtlcfIYt5+QPuPa1ynmWVifUNY3luiCDpiBP9z2VV/uMAH1JP0CCg7gwG2gu7vO1TaSacw==", "spree_user"=>{"name"=>"Christophe", "surname"=>"Mysurname", "email"=>"[email protected]", "password"=>"[FILTERED]", "birthdate"=>"1978-11-11"}, "commit"=>"Create"} 
Unpermitted parameters: name, surname, birthdate 
(0.6ms) BEGIN 

Что я делаю не так? У меня есть параметры без параметров.

+0

можете ли вы публиковать журнал консоли для добавления формы для пользователя? –

+0

Обновлено мое сообщение в журнале консоли – ChrisEstanol

ответ

1

Вот ответ основан на следующем сообщении:

Rails 4 - strong parameters concept involvement in spree-2.1

мне удалось добавить имя, фамилию и дату рождения, добавив строку ниже конфигурации/инициализаторах/spree.rb

Spree::PermittedAttributes.user_attributes.push :name, :surname, :birthdate 

Я также изменил дату рождения от временного типа к типу даты со следующей миграцией:

class ChangeBirthdateFromTimeToDate < ActiveRecord::Migration 

    def up 
    remove_column :spree_users, :birthdate, :time 
    add_column :spree_users, :birthdate, :date 
    end 

    def down 
    remove_column :spree_users, :birthdate, :date 
    add_column :spree_users, :birthdate, :time 
    end 
end 

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

  • Нет связанных вопросов^_^