Rails:跳过after_create

时间:2017-04-05 19:21:54

标签: ruby-on-rails ruby-on-rails-4 callback after-create

我有2个型号:

fit()

我通常首先创建一个class User < ActiveRecord::Base has_one :client end class Client < ActiveRecord::Base belongs_to :user end 并使用user过滤器,以便在创建after_create后创建client

user

我有一个after_create :create_client 存在的新案例,我希望在client已存在之后创建user 。在这种情况下,当我创建client时,我想跳过user过滤器。

我知道我需要after_create,但我不确定如何区分它。

1 个答案:

答案 0 :(得分:3)

对于这种情况,您可以使用attr_accessor

创建实例变量
class User < ActiveRecord::Base
  attr_accessor :has_client
  ...
end

并且您可以为此变量指定布尔值,并使用if condition

限制after_create
class User < ActiveRecord::Base
  ...
  after_create :create_client, unless: :has_client
  ...
end