Ana*_*and 6 ruby ruby-on-rails ruby-on-rails-3
我需要为account资源设计一个表单.在那种形式中,我需要在一个params名为hash的属性中收集一些id作为数组relationships.
所以params[account]POST请求的最终哈希应该是这样的:
{:name => 'somename', :relationships => ["123", "23", "23445"]}
Run Code Online (Sandbox Code Playgroud)
我该如何设计form_for田地?我试过这个,但没有用:
<%= form_for @account do |f| %>
<%= f.text_field :name %>
<% @eligible_parents.each do |p| %>
<%= f.check_box "relationships", nil, :value => p.id %>
<b><%= p.name %></b><br/>
</span>
<% end %>
<%= f.submit "Submit" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
元素@eligible_parents数量每次都不同.
relationships既不是account模型中的关联也不是属性.
我必须使用虚拟属性,但我需要从表单填写一个数组.
请帮忙.我怎样才能做到这一点?
你仍然需要fields_for在你看来,只需使用:relationships的record_name然后提供一个对象.
<%= form_for @account do |f| %>
<%= f.text_field :name %>
<% fields_for :relationships, @eligible_parents do |p| %>
<%= p.check_box "relationships", nil, :value => p.object.id %>
<b><%= p.object.name %></b><br/>
<% end %>
<%= f.submit "Submit" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这里的文档:ActionView :: Helpers :: FormHelper