Product
モデル、Order
、およびモデルがありOrderItem
ます。オブジェクトには 1 つの
(つまり、製品)
があり、複数の注文項目があります。OrderItem
Product
belongs to
Order
注文にを追加する場合はOrderItem
、フォームに記入します。フィールドの 1 つは、この注文項目に割り当てられる製品を入力することです。order モデルはproduct_id
を外部キーとして格納するため、Rails は (当然のことながら) 書き込み時に文句を言います。
<%= form_for @orderItem, url: {:action => :create} do |f| %>
<p>
<%= f.label :product_name %>
<%= f.text_field :product_name %>
</p>
<%= f.submit %>
<% end %>
私が念頭に置いているのは、誰かがフォームを使用して注文アイテムを作成することです。この注文項目に割り当てる製品を選択するとき、製品名のリスト (一意) から名前を選択します。フォームを送信すると、コントローラーは適切なProduct
オブジェクトを取得し、その ID を に割り当てますOrderItem
。
これを達成するためにフォームを設定するにはどうすればよいですか?