【发布时间】:2012-02-01 18:51:32
【问题描述】:
我们的 rails 3.1.0 应用程序中有 rfq、quote 和 test_item。 RFQ 有很多报价和测试项目。 Quote属于一个rfq,有很多测试项目。测试项目有许多 rfq 和报价。
创建报价时,将 rfq 中的测试项直接传递到报价新表单中。这是新引号控制器中的代码:
@quote = @rfq.quotes.new()
@quote.test_items << @rfq.test_items
这里是引用新形式的视图代码,用于显示从 rfq 传递的测试项:
<%= simple_form_for([@rfq, @quote]) do |f| %>
....
<% @quote.test_items.each do |t| %>
<p><%= f.association :test_items, :label => false %><%= link_to_remove_fields "remove", f %></p>
<% end %>
....
<% end %>
上面的视图代码可以显示从 rfq 传递过来的测试项,并保持关联(引用有很多测试项),这是应用程序需要的。但是,它还显示了一个此处不需要的测试项目的选择框(除了删除之外,不能更改引用中的测试项目。循环中的 t 也没有用)。我们只需要显示测试项的名称,保持关联(引用有很多测试项)并允许删除测试项(由link_to_remove_fields完成)。
有没有一种干净的方法来完成这个?非常感谢。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3.1 nested-attributes simple-form