我在
中有一个动作class User < ActiveRecord::Base
def follow_user(following_id)
Friendship.create(:following_id => following_id, :follower_id => self.id)
end
end
我需要运行此操作,以便我可以让用户在注册时默认关注用户...希望这是有意义的。
答案 0 :(得分:0)
您应该能够使用回调,这是一种在对象生命中的特定点调用的方法,例如after_create
,在您的用户模型上实现此目的。
您可以在Rails Guides上阅读有关回调的更多信息。基本上,您想在User
模型中说出类似的内容。
after_create: :follow_user
然后编写follow_user
方法以达到您想要的效果。每次创建User
时,都会运行follow_user
。根据您的代码,我假设follow_user
是一个用户跟随另一个用户时使用的方法,而不仅仅是在创建时(因此传递参数)。为了避免在验证中传递参数,我将设置一个默认参数,以便在不传递参数的情况下调用该方法时,将遵循“默认”用户。像这样:
def follow_user(following_id = 1)
code
end