2

当我想创建如下所示的新购买时,我想替换名称和价格输入。

<%= 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宝石。

4

0 回答 0