Jos*_*vak 3 ruby-on-rails has-one nested-attributes devise ruby-on-rails-3
我试图让我的用户表单也允许用户通过form_for同时填写他们的公司资料.由于某种原因,它没有显示公司领域.这是我的控制器和布局代码.
class User < ActiveRecord::Base
attr_accessible :company_attributes
has_one :company
accepts_nested_attributes_for :company
end
class Company < ActiveRecord::Base
belongs_to :user
# Validation
validates :name, :presence => true
end
<%= f.fields_for :company do |company_form| %>
<div class="field">
<%= company_form.label :name, "Company Name" %><br />
<%= company_form.text_field :name %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
该company属性User应该不是 - nil所以无论是在控制器中还是在表单中,都要创建它:
<% user.build_company if user.company.nil? %>
<%= f.fields_for :company do |company_form| %>
...
Run Code Online (Sandbox Code Playgroud)
在模型中而不是视图或控制器中执行此操作可能更好。
class User
# Blah blah blah
def profile
super || build_profile
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2355 次 |
| 最近记录: |