相关疑难解决方法(0)

覆盖设计注册控制器

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

现在的问题是当我保存时,它在注册控制器的创建操作中失败,该操作由设备提供,Activerecord::UnknownAttributeError在该字段(公司)上.

我假设我需要覆盖注册控制器,还是有更好/更简单的方法我应该接近这个?

ruby-on-rails devise

231
推荐指数
5
解决办法
17万
查看次数

如何在设计模型中使用嵌套属性

我有与使用Devise创建其他相关模型(没有答案)相同的问题.

我已经覆盖了创建新用户的设计视图并添加了公司名称,我已将模型更改为使用accepts_nested_attributes_for

没有错误,但它没有添加嵌套记录,我没有可以修改请求的控制器.

我有以下内容(缩短为使其可读):

的routes.rb

map.devise_for :users
map.resources :users, :has_many => :companies
Run Code Online (Sandbox Code Playgroud)

user.rb

has_many :companies
accepts_nested_attributes_for :companies
devise :registerable ... etc
Run Code Online (Sandbox Code Playgroud)

company.rb

belongs_to :user
Run Code Online (Sandbox Code Playgroud)

new.html.erb

...
<% form_for resource_name, resource, :url => registration_path(resource_name) do |f| %>
...
  <% f.fields_for :company do |company_form| %>
    <p><%= company_form.label :name %></p>
    <p><%= company_form.text_field :name %></p>
  <% end %>
...
Run Code Online (Sandbox Code Playgroud)

更新:我没有添加:company到User模型中的attr_accessible列表.

ruby-on-rails devise

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

devise ×2

ruby-on-rails ×2