Rails - 多个模型的单个ID

时间:2010-05-27 20:39:54

标签: ruby-on-rails database polymorphism barcode

我正在构建一个应用程序,允许用户扫描“货架”,“盒子”或“产品”上的条形码,然后显示该特定商品或所有相关商品。

由于这些都是具有自己ID的独立模型,我需要一个全局ID表。

我在想一个名为'条形码'的多态表

条形码

  • id
  • barcode_number
  • barcodable

有一种简单的方法吗?或者多态是最好的方式吗?

1 个答案:

答案 0 :(得分:1)

创建模型Barcode(最终会有一个字段numbercode):

class Barcode < ActiveRecord::Base
end

然后,每个具有条形码的模型都会在名为barcode_id的表中包含一个字段:

class Shelf < ActiveRecord::Base
  belongs_to :barcode
end

class Box < ActiveRecord::Base
  belongs_to :barcode
end

class Product < ActiveRecord::Base
  belongs_to :barcode
end

您可以访问这样的条形码:

@shelf.barcode