DataMapper - Enum like Discriminator的选项标志?

时间:2012-01-14 01:42:52

标签: ruby database ruby-datamapper

我最近开始在一些项目中使用DataMapper&总的来说,我觉得它太棒了。但我有一个关于使用它的特定方面的问题。

我知道如果我的模型具有枚举属性(property :whatev, Enum[ :foo, :bar ]),我可以致电Model.whatev.options[:flag]&获取特定枚举的所有不同可能值。我想知道是否有人知道(或者可以指出我正确的方向)是否有Discriminator属性类型的类似内容?

即。有没有办法称这个特定的财产和&让它返回各种选项

1 个答案:

答案 0 :(得分:0)

有点晚了,但到了。给定模型定义,例如:

class Foo
  include DataMapper::Resource
  property :id, Serial
  property :type, Discriminator
end

class Bar < Foo; end
class Baz < Foo; end

您可以看到子类:

Foo.descendants.entries

返回一个数组:[Bar, Baz]