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