Rails模型关系和形式

时间:2014-06-16 05:26:30

标签: ruby-on-rails ruby-on-rails-4 select2-rails

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

<%= 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 gem。

0 个答案:

没有答案