我有一个@miniature模型。 Miniatures has_many制造商通过@minilines 我有一个@line模型。 Lines belongs_to Manufacturer。
如果要将@miniature添加到@Line,请单击以下链接。
<%= link_to '<i class="fa fa-plus"></i> add'.html_safe, new_miniline_path(:miniature_id => @miniature) %>
您看到的表格如下
<%= form_for(@miniline) do |f| %>
<%= f.hidden_field :miniature_id, :value => @miniature.id %>
<%= f.label :line_id, 'Select product line' %><br />
<%= f.select :line_id, @lines, include_blank: true %>
<%= f.submit "Add", class: "btn btn-large btn-primary" %>
<% end %>
这很好但我想要做的是使options_for_select只显示与当前@miniature的@manufacturer相关联的@lines。
我正在尝试
<%= f.select :line_id, mfr_lines(@miniature), include_blank: true %>
然后在minilines_helper中定义它,但我无法解释如何用它来表达
module MinilinesHelper
def mfr_lines(miniature)
miniature.manufacturers.each do |manufacturer|
manufacturer.lines
end
end
end
它希望吸引每个制造商并获得他们的行,然后加入他们。
任何帮助都非常感激。
答案 0 :(得分:0)
试试:
<%= f.select :line, @lines, include_blank: true %>
不要使用:line_id 作为名称,如果您在此处命名相关模型,则rails知道该怎么做。