0
클래스 A가 after_create에서 B를 초기화하는 다음 두 클래스가 있습니다. 불행하게도이 작동하지 않습니다, 그리고 B의 생성으로 인해 presence_of 검증의 위반으로 실패하지 B.이after_create, belongs_to 및 validate_presence_of
클래스 A가 after_create에서 B를 초기화하는 다음 두 클래스가 있습니다. 불행하게도이 작동하지 않습니다, 그리고 B의 생성으로 인해 presence_of 검증의 위반으로 실패하지 B.이after_create, belongs_to 및 validate_presence_of
난 그냥 이걸 발견하는 A를 만들 때
class A < ActiveRecord::Base
has_many :bs
after_create :after_create_hook
def after_create_hook
B.create(:a => self)
end
end
class B < ActiveRecord::Base
belongs_to :a
validates_presence_of :a
end
는 A가 만들어 지지만됩니다 : http://blog.teksol.info/2006/03/08/don-t-validate-belongs_to-or-else
여기서 실수는 a의 인스턴스에 대해 유효성을 검사하는 것입니다. 이것은 외래 키일 뿐이므로 확인을 통해 확인해야합니다.
이제 모든 것이 작동합니다.