さまざまなサイトを記録する既存のActiveRecord::Observer
モデルで問題が発生しています。他のモデルに使用するのと同じモデルでクラスを試すまで、すべてがうまく機能していました。次のことを考慮してください。Activities
User
observe
User
Activity
observe
class Activity < ActiveRecord::Base
belongs_to :user
belongs_to :item, :polymorphic => true
end
class ActivityObserver < ActiveRecord::Observer
observe :billing, :call, :vanity_number
end
class User < ActiveRecord::Base
has_many :comments
has_many :activities
end
class Comment < ActiveRecord::Base
belongs_to :user
has_many :activities, :as => :item
end
上記はうまくいきました。のクエリは、User.activities
の行を返しますComment
Activities
。のメソッドに追加:user
し、モデルを に変更するとすぐに、そのインスタンスに関連するアクティビティである行のみが返され、何も返されません。observe
ActivityObserver
has_many :activities
User
has_many :activities, :as => :item
User.activities
User
Comments
どうしてこれなの?これを期待どおりに機能させるにはどうすればよいですか?