【发布时间】:2009-11-12 16:47:46
【问题描述】:
我对 ActiveRecord 中的 STI 和关系有疑问。我想我在类方法中遗漏了一些东西,但我不确定。以下是我的模型:
class User < ActiveRecord::Base
has_many :advertisements
end
class Advertisement < ActiveRecord::Base
belongs_to :user
end
class FreeAdvertisement < Advertisement
end
class PaidAdvertisement < Advertisement
end
现在我想查找某个用户下的所有 FreeAdvertisement,例如:
u = User.find_by_username('myself')
@freebies = u.free_advertisements.all
报错:
undefined method `free_advertisements' for #<User:0x2360f18>
我可以使用u.advertisements.find :all, :conditions 破解它,但这不是我想做的。
请帮我解决这个问题。提前致谢。
【问题讨论】:
标签: ruby-on-rails ruby polymorphism relationship sti