2014-07-16 2 views
0

У меня есть @miniature модель. Миниатюры are_many Производители через @minilines У меня есть модель @line. Линии принадлежат изготовителю.Выбор опций от родителя

Если вы хотите добавить @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 только @ строку, связанную с @manufacturer текущего @miniature ,

Я в настоящее время пытается

<%= 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

Попробуйте:

<%= f.select :line, @lines, include_blank: true %> 

Только не используйте : line_id как имя, рельсы знает, что делать, если вы назвать соответствующую модель здесь.

+0

Форма выше работает нормально: line_id. Я пытаюсь отфильтровать параметры_for_select, как описано ниже. – Ossie

Смежные вопросы