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
が、それは私がやりたいことではありません。この問題を解決するのを手伝ってください。前もって感謝します。