У меня две модели: Stations & Drinks
Станции has_many :drinks и напитки, принадлежащие_to :stations
Я пытаюсь сделать свою форму так, чтобы при создании станции можно было выбрать 4 напитка, которые также будут принадлежать этой станции.
Исходная форма:
<%= semantic_form_for [:admin, @station] do |f| %>
<fieldset class="inputs">
<ol>
<%=f.input :name %>
<%=f.input :number, :as => :number %>
</ol>
</fieldset>
<%= f.buttons :commit %>
Я пытался выяснить, как создать 4 (выбрать) поля ввода в этой форме, чтобы вы могли выбрать напиток № 1, № 2, № 3, № 4 для текущей станции. Любые идеи?
Я сейчас пытаюсь accepts_nested_attributes_for :drinks, :allow_destroy => true.
Напитки принадлежит :station
id | name | station_id |
Станции has_many :drinks
id | name |
.
ОБНОВЛЕНИЕ Как отмечает tihm ниже, вы можете добавить 4 напитка и отредактировать их значения следующим образом:
<% f.fields_for :drinks do |drink_form| %>
<%# Put your inputs here...could be a select box %>
<%= drink_form.select :name, [['Drink #1', 'drink_1'],['Drink #2', drink_2] %>
<%# Or a plain input %>
<%= drink_form.input :description %>
<%# ... Any other drink attributes ... %>
<% end %>
Однако то, что я пытаюсь сделать, это создать четыре поля выбора, каждое из которых перечисляет Drink.all
, и иметь возможность заменить один объект напитка другим. Итак, когда вы меняете значение первого поля выбора с кока-колы на пепси, он удаляет station_id из кока-колы и добавляет station_id к пепси.
Мне не нужно редактировать атрибуты напитков. Мне просто нужно изменить, какие напитки связаны с этой станцией. Возможно ли это в той же форме?