1
class User < ActiveRecord::Base
has_one :client
end
class Client < ActiveRecord::Base
belongs_to :user
end
및 I 정상적으로 user
생성 된 후에 client
를 생성하기 위해, after_create
필터 user
제를 만들고있다.
after_create :create_client
은 내가
client
가 존재하는 새로운 사례가 있고, 나는이
client
이미 존재하는
user
이후에 만들려고합니다. 이 경우 user
을 만들 때 after_create
필터를 건너 뛰고 싶습니다. 나는 after_create :create_client, unless: ____
이 필요하다는 것을 알고 있지만 어떻게 구별 할 수 있는지 잘 모르겠습니다. 당신이 attr_accessor
class User < ActiveRecord::Base
attr_accessor :has_client
...
end
를 사용하여 인스턴스 변수를 만들고이 변수에 부울 값을 할당하고 말 그대로 그냥로 이것을 파악 if condition
class User < ActiveRecord::Base
...
after_create :create_client, unless: :has_client
...
end
와 after_create을 제한 할 수 있습니다이 경우를 들어 –
아마'Rails 4에서 사라진'attr_accessible'을 생각할 것입니다.'attr_accessor'는 직선적 인 Ruby 기능입니다. –
@CoreyWoodcox 예, 나는 들었지만 공식 Rails Doc에서는 발견하지 못했습니다. 귀하의 연구 결과를 공유하십시오. –