私は2つのモデルを持っています:ステーションと飲み物
ステーションhas_many:drinks and Drinksbelongs_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 %>
現在のステーションにDrink#1、#2、#3、#4を選択できるように、このフォームに4つの(選択)入力フィールドを作成する方法を見つけようとしています。何か案は?
私は現在試していますaccepts_nested_attributes_for :drinks, :allow_destroy => true.
飲み物belongs_to: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 %>
しかし、私がやろうとしているのは、それぞれがリストする4つの選択ボックスを生成Drink.all
し、1つの飲み物オブジェクトを別の飲み物オブジェクトと交換できるようにすることです。したがって、最初の選択ボックスの値をコークスからペプシに変更すると、コークスからstation_idが削除され、station_idがペプシに追加されます。
飲み物の属性を編集できる必要はありません。このステーションに関連付けられている飲み物を変更するだけです。これは同じ形で可能ですか?