我有3个模特
公司
has_many:部门
系
has_many:角色
belongs_to公司
角色
belongs_to:department
我正在尝试创建一个动态页面,其中包含公司名称,用户动态添加的n个部门(按照按钮单击呈现相同的部分)和每个部门内的n个角色( 按照按钮单击显示相同的部分)。我想打电话给
form_for :company do |f|
= department_partial(按用户呈现n次),包含部门表单
form_for :department do |f|
= role_partial(按用户呈现n次),包含角色形式
form_for :role do |f|
这样当我点击保存一次以调用CompaniesController #Create
时我得到了像
这样的参数 {“company”=> {“name”=> “somename”,
“department1”=> {“name”=> “somename”,“role”=> [{“name”=> “R1”},{“name”=> “R2”}]},
“department2”=> {“name”=> “somename”,“role”=> [{“name”=> “R1”},{“name”=> “R2”},{“name”=> “R3”}]}}
注意
1>每个部门可能会重复相同的角色,但不同的部门是明智的 2 - ;单击保存
之前没有保存任何内容答案 0 :(得分:1)
可能你的观点看起来像这样:
<%= nested_form_for @company do |comp| %>
<!-- pick the company attributes -->
<%= comp.fields_for :departments do |department| %>
<%= department.text_field :name %>
<%= department.fields_for :roles do |role| %>
<!-- Pick your role attributes -->
<% end %>
<% end %>
<% end %>
看看这个example code。这会帮你:) 检查以下railscast视频:
http://railscasts.com/episodes/196-nested-model-form-part-1
和