Rails - 资源组

时间:2013-08-27 20:39:06

标签: ruby-on-rails database-design

我正在寻找创建名为Products的资源。产品有描述/价格......

{
  description: "Cream Cheese",
  price: 1.99,
  perishable: true
}

这一切都非常简单,但我可能有2个单独的容器"奶油芝士"有不同的到期日期。围绕这些单个变量建模资源的正确/最佳方法是什么。

编辑:对不起,以上内容并不是很清楚。我将获得许多相同奶油芝士的订单,具有相同的UPC代码和价格,所以我认为将它作为单一产品会很好。然后我不知何故需要存储单个项目的到期日期,可能通过一个单独的相关资源?

1 个答案:

答案 0 :(得分:0)

我认为你很好地描述了这个问题(这通常很难)。现在你只需要对你写的内容进行建模。根据您需要存储的内容,您有很多选择。我建议你一个可能激发你真实情况的人:

class Product < ActiveRecord::Base
  has_many :items

  # upc: string
  # string: description string
  # float: price (or integer representing cents)
  # boolean: perishable
end

class Item < ActiveRecord::Base
  belongs_to :product

  # datetime: expires_at
end

class OrderItem < ActiveRecord::Base
  belongs_to :item
  belongs_to :order

  # integer: quantity
end

class Order < ActiveRecord::Base
  has_many :order_items
end