모델 Vin에 속한 Entree 모델을 가지고 있는데,이 모델 자체는 Producteur 모델에 속합니다.모델 생성시 하위 모델 초기화
Entree 생성/편집에 대한 양식에서 부모 Vin 및 Producteur에 대한 특성을 정의하거나 사용자 입력에 기초한 검색 (존재하는 경우 검색)을 허용 할 수 있습니다.
나는 앙트레new
에 다음과
edit
작업을 할 지금은
:
@entree = Entree.new
@entree.vin = Vin.new
@entree.vin.producteur = Producteur.new
및 형태 fields_for
도우미를 사용하고, 그 작동합니다. 하지만 더 많은 모델과 더 많은 의존성을 가지려고합니다. 그래서 나는 그것을 지치게하고 싶습니다. 나는 producteur 초기화를 수행하는 after_initialize
콜백 빈에서 모델 정의 :
class Vin < ActiveRecord::Base
after_initialize :vin_setup
def vin_setup
producteur = Producteur.new
end
end
을 컨트롤러에서 producteur.new
를 제거합니다.
정의되지 않은 방법은 NilClass에 대한`MODEL_NAME ': 클래스
<%= fields_for @entree.vin.producteur do |producteur| %>
을 말한다 형태의 라인이 같아요 그게 의미하지만, 새로운 액션에 오류가 after_initialize 콜백은 예상대로 작동하지 않습니다. 내가 빠진 것이 있습니까? 또한 콜백을 정의하는 대신 Vin 모델에서 after_initialize
메서드를 정의하면 동일한 오류가 발생합니다.
덕분에, 그것을 않습니다. 나는 producteur가 정의 된 협회이기 때문에 그것을 생각할 수 있다고 생각했다. – Antoine