3
我有一个User
模型和Following
,Follower
观察在轨场和mongoid
用户模型
has_and_belongs_to_many :followers, class_name: 'User', inverse_of: :following
has_and_belongs_to_many :following, class_name: 'User', inverse_of: :followers
关注
has_and_belongs_to_many :followers, class_name: 'User', inverse_of: :following
继
has_and_belongs_to_many :followings, class_name: 'User', inverse_of: :followers
而且我有一个UserObserver
应该看到,如果用户follower_ids
去改变,那么将它添加到用户Activities
所以,我怎么能看只有在follower_ids
的变化并获得最新的用户id
放于activities
你能告诉我如何做到这一点用户观察员?因为触发器可能适用于此,但我希望有一个类可以自己处理用户活动,比如有一个新的帖子不只是新的跟随者,并且触发器无处不在的代码会很糟 –
您可以将# trigger_added_follower_observers方法调用#call_observer并更改方法的签名以接收标识符(符号)以标识模型的哪个部分已更改。然后,在该方法中,您将实例化您的UserObserver传递自我(用户)和已更改内容(:followers,:posts,...)的标识。我真的不认为挂钩或使用可观察模块会比这更好。 –