Rails 为 2 个依赖资源创建回调

Rails create callback for 2 dependent resources

我想知道如何为两个依赖模型使用 before_create 或 after_create 之类的创建回调。

class User < ActiveRecord::Base

end

class Member < ActiveRecord::Base

end

假设我有两个模型,分别称为用户和成员,我想在创建任何用户时创建一个成员,并希望在创建任何成员时创建用户。

如果我将在两个模型中使用 after_create 或 before_create 回调,它将 运行 作为永无止境的循环。那么如何做到这一点。

after_create 回调中创建关联之前,只需检查数据库中是否存在关联,如下所示:

class User < ActiveRecord::Base
  after_create :create_member

  private
    def create_member
      unless self.member?
        # create member
      end
    end
end

class Member < ActiveRecord::Base
  after_create :create_user

  private
    def create_user
      unless self.user?
        # create user
      end
    end
end