当我想创建如下所示的新购买时,我想替换名称和价格输入。
<%= simple_form_for([@order, @purchase]) do |f| %>
<%= f.error_notification %>
<%= f.input :name %>
<%= f.input :quantity %>
<%= f.input :price %>
<%= f.button :submit %>
<% end %>
对于名称输入,我想要一个保存所选产品 id 的集合(来自产品表)。
至于价格输入,我想在上面显示所选产品的价格,将价格保存到采购表中。
### #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
宝石。