Rails 4 - сильные параметры концепции вовлечения в spree-2.1

Как добавить новые поля для spree:: user в Spree-2.1 + Rails4?

Как и мои старые настройки: ==========================

Spree:: User.class_eval do

attr_accessible :f_name, :l_name :gender
validates :f_name, :presence => true, :length => {:maximum => 25}
validates :l_name, :presence => true, :length => {:maximum => 20}

конец

новая работа с сильными параметрами: ================================

модуль Spree UserRegistrationsController.class_eval do

private
 def spree_user_params
   params.require(:spree_user).permit(:f_name, :l_name)
 end

end

конец

Даже если это не работает, как он получил откат..

Пожалуйста, дайте мне знать ваши комментарии.

2 ответа

Недавно в spree_auth_devise было внесено изменение, которое позволит вам установить разрешенные атрибуты для Spree::User.

Это соответствующая строка кода: https://github.com/spree/spree_auth_devise/blob/ac27effb5998e5875261f08655e442461a031370/app/controllers/spree/user_registrations_controller.rb#L69

Вам нужно добавить f_name и l_name в Spree::PermittedAttributes.user_attributes следующим образом:

# in an initializer
Spree::PermittedAttributes.user_attributes << :f_name
Spree::PermittedAttributes.user_attributes << :l_name

Более подробную информацию о Spree:: PermittedAttributes можно найти в этом запросе на извлечение:

https://github.com/spree/spree/pull/3566

@gmacdougall прав, однако я хочу отметить, что если вы делаете это в расширении, вы можете сделать это через декоратор. Ваше расширение должно было бы определить это в инициализаторе, который устанавливается пользователем через генератор, который не может поддерживаться.

# lib/spree/permitted_attributes_decorator.rb
Spree::PermittedAttributes.class_eval do
  @@user_attributes.push(:f_name, :l_name)
end

Вы можете добавить новые атрибуты для многих моделей в модуле Spree:PermittedAttributes. Контроллеры Spree получают эти атрибуты с помощью методов, включенных в модуль Spree::Core::ControllerHelpers::StrongParameters.

Другие вопросы по тегам