Productモデル、Order、およびモデルがありOrderItemます。オブジェクトには 1 つの
(つまり、製品)
があり、複数の注文項目があります。OrderItemProductbelongs toOrder
注文にを追加する場合は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。
これを達成するためにフォームを設定するにはどうすればよいですか?