【问题标题】:Create order form that saves multiple records创建保存多条记录的订单
【发布时间】:2016-08-20 21:40:39
【问题描述】:

我有一个产品模型和一个订单模型(最好称为 order_item)。用户将在每个工作日创建一个订单,并在下周开始之前被删除。 产品有_many 个订单,一个订单属于_to products。

我想显示所有产品的表单,用户可以在其中输入他们想要的每种产品的数量,每个产品都将保存在订单表中,其中包含以下字段,:product_id, :amount, :user_id, :date . 使用这些字段,我可以为每个用户找到并显示每天的订单,但我不确定如何创建表单,因此它会为表单中的每个产品保存一个新的订单记录

我怎样才能创建这个? 我看过嵌套表单,但它似乎不适合这个......

【问题讨论】:

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


    【解决方案1】:

    这可能是has_many :through association 的一个很好的用例。它的行为方式类似于多对多关联,但它允许您在其自己的模型中存储有关关系的附加信息。在您的情况下,您将在订单模型上获得日期和金额。

    你会这样设置模型:

    class User < ActiveRecord::Base
        has_many :orders
        has_many :items, through: :orders
    end
    
    Class Item < ActiveRecord::Base
        has_many :orders
        has_many :users, through: :orders
    end
    
    Class Order < ActiveRecord::Base
        belongs_to :item
        belongs_to :user
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多