Отношения и формы модели Rails

Когда я хочу создать новую покупку, как показано ниже, я хотел бы заменить ввод имени и цены.

<%= simple_form_for([@order, @purchase])  do |f| %>
  <%= f.error_notification %>
    <%= f.input :name %>
    <%= f.input :quantity %>
    <%= f.input :price %>

    <%= f.button :submit %>
<% end %>

Для ввода имени я хотел бы иметь коллекцию, которая сохраняет идентификатор выбранного продукта (из таблицы продуктов).

Что касается ввода цены, я хотел бы отобразить цену выбранного продукта выше, сохранить цену в таблице покупок.

### #models
class Order < ActiveRecord::Base
 has_many :purchases, dependent: :destroy
 has_many :products
end

class Purchase < ActiveRecord::Base
 belongs_to :order
end

class Product < ActiveRecord::Base
 has_many :orders
end

Отношения и кодирование их в формы временами смущают меня.

Я бы предположил, что модели должны быть настроены следующим образом:

class Order < ActiveRecord::Base
 has_many :purchases, dependent: :destroy
 has_many :products, :through => :purchases
end

class Purchase < ActiveRecord::Base
 belongs_to :order
 belongs_to :product
end

class Product < ActiveRecord::Base
 has_many :purchases
 has_many :orders, :through => :purchases
end

Затем я бы создал столбец product_id в покупках. Если это правильно, как мне создать код коллекции и распечатать цену выбранного предмета (в коллекции) в форме?

Написание кода для отношений — вот где я застрял.

Я также хотел бы использовать драгоценный камень rails-select2.


person lightbots    schedule 16.06.2014    source источник
comment
У меня нет точного ответа, но, поскольку я еще не могу комментировать, я должен опубликовать здесь. Следующая ссылка может оказаться полезной. stackoverflow.com/questions/7844568/   -  person Azureeya    schedule 16.06.2014