사용자가 데이터를 가져 오는 xml 파일이 있습니다. 이 모델은 Player
모델의 레코드를 만듭니다. 동시에, 나는 Membership
협회에서 기록을 만들길 원합니다.find_or_initialize_by 및 has_many : through
위의 두 가지 모두 레코드가 아직 존재하지 않는 경우에만 트리거되어야합니다. 이 방법의 단축 버전입니다 :
@player = self.players.find_or_initialize_by_name_and_archetype(name, archetype)
if @player.save
self.memberships.create(:player_id => @player.id)
end
이제 find_or_initialize_by
작동하지만 Membership
여전히 기본적으로 경우 조건을 무시하고, 각 플레이어 생성됩니다.
어떻게 간결한 방식으로이 작업을 수행 할 수 있습니까?
친구에게 감사드립니다. 콘솔에서 사용해 보았지만 실제로 돌아 왔습니다. 어떤 이유로 레코드를 발견하고 초기화하지 않은 경우 저장이 거짓이라고 생각했습니다. – amunds
'save'는 레코드가 유효하지 않음 (유효성 검사 기준) 만 false를 반환합니다. 그것이 다행했기 때문에. 건배. – theIV