选择标记逻辑轨道的问题

时间:2016-07-15 12:35:24

标签: ruby-on-rails form-helpers

我有 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

的分支

请问我做错了什么?

2 个答案:

答案 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,无需使用表单标记