如何找到多态关系

时间:2010-01-12 15:14:54

标签: ruby-on-rails polymorphism

class Item < ActiveRecord::Base
belongs_to :rulable, :polymorphic => true
end
class foo < ActiveRecord::Base
has_many :items, :as => rulable
end
class bar < ActiveRecord::Base
has_many :items, :as => rulable
end

查找属于foo的项目的最佳方法是什么?我现在正在使用这样的东西:

f = Foo.find 1
Item.find_by_rulable_id_and_rulable_type(f, 'Foo')

1 个答案:

答案 0 :(得分:1)

以下是语义上等效的,更容易阅读和输入。

f = Foo.find 1
f.items