【问题标题】:Rails has_many :throughRails has_many:通过
【发布时间】:2011-11-19 20:03:16
【问题描述】:

我正在尝试在 Rails 中创建一个销售点应用程序

现在我有一个项目模型。 items 模型包含商店携带的每个不同的项目。

现在我想创建一个 Orders 模型。这个想法是这个模型将包含每个订单的项目及其数量。我将能够查看订单历史记录以生成分析等。

这样做的正确方法是什么?

has_many :通过 ? Redis 集? 其他想法?

【问题讨论】:

    标签: ruby-on-rails activerecord redis


    【解决方案1】:

    典型的方法是使用 OrderLine 模型。您可以在此处存储订购的每件商品的数量。

    class Order
      has_many :order_lines
      has_many :items, :through => :order_lines
    end
    
    class OrderLine
      belongs_to :order
      belongs_to :item
    end
    

    【讨论】:

    • 你能详细解释一下吗?
    • 谢谢。我需要在 orderline 上添加迁移和/或 attr_accessible 变量吗?
    • 您需要迁移才能创建 OrderLine 模型。请注意,它应该在 Order 类的单独文件中,为了方便起见,我只是将它们组合在上面。至于attr_accessible,就看你怎么写控制器代码了。
    • 你知道更完整的教程吗?我似乎找不到任何东西。
    • 这只是基本的 Rails。 OrderLine 模型是多对多关系的一个示例。试试guides.rubyonrails.org
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多