Я добавил поле в форму регистрации, основанное на другой модели, см. Как использовать вложенные атрибуты с моделью устройства для подробностей. Эта часть работает нормально.
Проблема теперь в том, что когда я сохраняю, происходит сбой в действии create контроллера регистрации, который предоставляется devise с Activerecord :: UnknownAttributeError
в этом поле (компания ).
Я предполагаю, что мне нужно переопределить контроллер регистраций, или есть лучший / более простой способ, которым я должен подходить к этому?
В вашей форме вы передаете какие-либо другие атрибуты через массовое присвоение, которые не принадлежат вашей модели пользователя или любой из вложенных моделей?
Если да, я полагаю, что в этом случае срабатывает ActiveRecord::UnknownAttributeError.
В противном случае, я думаю, вы можете просто создать свой собственный контроллер, сгенерировав что-то вроде этого:
# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def new
super
end
def create
# add custom create logic here
end
def update
super
end
end
А затем сказать devise использовать этот контроллер вместо контроллера по умолчанию с помощью:
# app/config/routes.rb
devise_for :users, :controllers => {:registrations => "registrations"}