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
我想知道如何为两个依赖模型使用 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