さまざまなサイトを記録する既存のActiveRecord::Observerモデルで問題が発生しています。他のモデルに使用するのと同じモデルでクラスを試すまで、すべてがうまく機能していました。次のことを考慮してください。ActivitiesUserobserveUserActivityobserve
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し、モデルを に変更するとすぐに、そのインスタンスに関連するアクティビティである行のみが返され、何も返されません。observeActivityObserverhas_many :activitiesUserhas_many :activities, :as => :itemUser.activitiesUserComments
どうしてこれなの?これを期待どおりに機能させるにはどうすればよいですか?