fields_for и has_many_through - PullRequest
       28

fields_for и has_many_through

0 голосов
/ 20 марта 2012

У меня есть следующие модели:

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

Я хотел бы иметь вложенную форму в форме заказа, которая отображает каждый приз с текстовым полем рядом с ним, где пользователь может вводить фигуры (например, сумму допорядок).Когда форма отправлена, действие create должно создать order_lines соответственно.Я не могу найти решение нигде.

1 Ответ

0 голосов
/ 20 марта 2012

Прежде всего в модели Order используйте 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 %>

Это прямо из документации ... Вы должны обязательно проверить это сначала .

...