我想知道如何为两个依赖模型使用像before_create或after_create这样的创建回调。
class User < ActiveRecord::Base
end
class Member < ActiveRecord::Base
end
假设我有两个名为User和Member的模型,我想在创建任何用户时创建一个成员,并且想要在创建任何成员时创建用户。
如果我将在两个模型中使用after_create或before_create回调,它将作为永无止境的循环运行。所以如何做到这一点。
答案 0 :(得分:1)
在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