我在注册表单中添加了一个基于不同模型的字段,请参见How do I use nested attributes with the devise model了解血淋淋的详细信息.这部分工作正常.
现在的问题是,当我保存时,它在Deave提供的注册控制器的创建操作中失败,该控制器在该字段(公司)上有一个Activerecord::UnknownAttributeError
.
我假设我需要覆盖注册控制器,或者是否有更好/更简单的方法来实现这一点?
我在注册表单中添加了一个基于不同模型的字段,请参见How do I use nested attributes with the devise model了解血淋淋的详细信息.这部分工作正常.
现在的问题是,当我保存时,它在Deave提供的注册控制器的创建操作中失败,该控制器在该字段(公司)上有一个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
然后告诉Desive使用该控制器,而不是默认控制器:
# app/config/routes.rb
devise_for :users, :controllers => {:registrations => "registrations"}