0

私はこれらのモデルを持っています:

class Order < ActiveRecord::Base
  has_many :order_lines
  has_many :prizes, :through => :order_lines
  accepts_nested_attributes_for :order_lines
end

class Prize < ActiveRecord::Base
  has_many :order_lines  
end

class OrderLine < ActiveRecord::Base
  belongs_to :order
  belongs_to :prize
end

注文フォームにネストされたフォームがあり、すべての賞品を表示し、その隣にユーザーがピース (注文する金額など) を入力できるテキスト ボックスが表示されます。フォームが送信されると、作成アクションはそれに応じて order_lines を作成する必要があります。どこにも解決策が見つかりません。

4

1 に答える 1

0

まず、注文モデルではaccepts_nested_attributes_for :prizes、持っているものの代わりに を使用します。

その後は簡単です。ビューにフォームを追加するだけです (追加のステップ コントローラーはありません)。

<%= form_for @order do |order_form| %>
  ..
  <%= order_form.fields_for :prizes do |prizes_form| %>
    <%= prizes_form.text_field :piece %>
    ..
  <% end %>
 ..
<% end %>

これはドキュメントからそのままです...最初に必ず確認してください

于 2012-03-20T11:18:00.393 に答える