quote
获取rfq
创建报价时已知的测试项目(在 中@rfq.test_items
)。表quote_test_items 存储报价(@quote.quote_test_items
)的所有测试项目。
在quote
模型中,有:
accepts_nested_attributes_for :quote_test_items, :reject_if => proc {|item| item['test_item_id'].blank? }, :allow_destroy => true
我们希望将所有测试项目rfq
传递到quote
控制器中new
,并在用户想要删除一些测试项目时将它们显示给用户。这是我们在报价控制器中所做的new
:
@rfq.test_items.each do |it|
@quote.quote_test_items.build
@quote.quote_test_items << it
end
有一个错误:
QuoteTestItem(#56736972) expected, got TestItem(#50178372)
我们在控制器中尝试了以下操作new
:
@quote.test_items << @rfq.test_items
它不会在控制器中产生错误。但是下面的代码有一个错误(未定义的方法:test_item_id):
<%= f.fields_for @quote.quote_test_items do |builder| %>
<ul>
<div class="fields">
<li><%= builder.input :test_item_id, :collection => TestItem.active_test_item.all(:order => 'name'), :label_method => :name, :value_method => :id,
:label => false %><%= link_to_remove_items "remove", f %></li>
</div>
</ul>
<% end %>
在控制器中传递嵌套属性值的正确方法是什么?谢谢您的帮助。