Jer*_*mas 1 ruby-on-rails callback after-create ruby-on-rails-4
我有 2 个型号:
class User < ActiveRecord::Base
has_one :client
end
class Client < ActiveRecord::Base
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
我通常创建user第一个,并有一个过滤器,在创建后after_create创建。clientuser
after_create :create_client
Run Code Online (Sandbox Code Playgroud)
我有一个新的案例,其中存在,并且我想在已经存在的情况下client创建。在这种情况下,当我创建时我想跳过过滤器。 user clientuserafter_create
我知道我需要after_create :create_client, unless: ____,但我不知道如何区分这一点。
对于这种情况,您可以使用 attr_accessor 创建实例变量
class User < ActiveRecord::Base
attr_accessor :has_client
...
end
Run Code Online (Sandbox Code Playgroud)
您可以为该变量分配布尔值并限制 after_createif condition
class User < ActiveRecord::Base
...
after_create :create_client, unless: :has_client
...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2137 次 |
| 最近记录: |