我有 SoldHistory 模型,该模型属于产品模型,并且还具有分支模型。在产品展示页面中有一个表单,用于创建已售出 已售出:整数属性。我正在尝试将一个选择标记添加到将从分支模型中选择对象的表单。
<%= form_for [@product, @product.sold_histories.build, @branch = Branch.find(:all)] do |f| %>
<%= f.label "Dispatch: "%>
<%= f.number_field :sold %>
<%= f.select :branch, options_from_collection_for_select(@branch, "id", "name") %>
<%= f.submit "Enter" %>
<% end %>
我尝试了这个,但它一直说找不到id = all
的分支请问我做错了什么?
答案 0 :(得分:1)
在<%= form_for [@product, @product.sold_histories.build, @branch = Branch.find(:all)] do |f| %>
将@branch = Branch.find(:all)
更改为@branch = Branch.all
编辑:为什么不在表单块中放置@branch赋值?像这样:
<%= form_for [@product, @product.sold_histories.build] do |f| %>
<% @branch = Branch.find(:all) %>
...
<% end %>
答案 1 :(得分:0)
这可能对您有所帮助
<%= f.select :branch, options_for_select(@branch.collect {|a| [a.name, a.id]}) %>
您可以在控制器操作中获取@branches,无需使用表单标记