猿问

覆盖装置注册控制器

覆盖装置注册控制器

我已经在基于不同模型的注册表单中添加了一个字段,请参阅如何在设计模型中使用嵌套属性?关于血淋淋的细节。这部分工作正常。

现在的问题是,当我保存时,注册控制器的创建操作失败了。Activerecord::UnknownAttributeError在这个领域(公司)。

我假设我需要超越注册控制器,或者有一个更好/更容易的方式,我应该接近这一点?


九州编程
浏览 588回答 3
3回答

江户川乱折腾

在您的表单中,您是否通过不属于用户模型或任何嵌套模型的大量赋值传递其他属性?如果是这样的话,我相信ActiveRecord:UnKnownAttributeError是在这个实例中触发的。否则,我认为您可以创建自己的控制器,方法是生成如下内容:#&nbsp;app/controllers/registrations_controller.rbclass&nbsp;RegistrationsController&nbsp;<&nbsp;Devise::RegistrationsController &nbsp;&nbsp;def&nbsp;new &nbsp;&nbsp;&nbsp;&nbsp;super &nbsp;&nbsp;end &nbsp;&nbsp;def&nbsp;create&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;add&nbsp;custom&nbsp;create&nbsp;logic&nbsp;here &nbsp;&nbsp;end &nbsp;&nbsp;def&nbsp;update&nbsp;&nbsp;&nbsp;&nbsp;super &nbsp;&nbsp;endend然后告诉Designer使用该控制器而不是默认的:#&nbsp;app/config/routes.rbdevise_for&nbsp;:users,&nbsp;:controllers&nbsp;=>&nbsp;{:registrations&nbsp;=>&nbsp;"registrations"}
随时随地看视频慕课网APP
我要回答