0

我有一个动作

class User < ActiveRecord::Base
  def follow_user(following_id)
      Friendship.create(:following_id => following_id, :follower_id => self.id)
  end
end

我需要运行这个操作,这样我就可以让用户在注册时默认关注用户......希望这是有道理的。

4

1 回答 1

0

您应该能够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
于 2012-04-26T14:35:37.567 回答