2013-04-26 2 views
1

Mongoid 특정 것 또는 더 큰 활성 레코드 패턴에 적용되는지 확실하지 않습니다. I 작동 다음 코드 덩어리가 :관계를 업데이트하기 위해 개체를 저장하기 전에 다시로드해야하는 이유는 무엇입니까?

submission.reload.profile 
submission.milestone = self.milestone 
submission.profile = @profile 
@profile.save && submission.save 

의 관계가 올바르게 업데이트됩니다합니다. 그러나 첫 번째 줄 (시행 착오를 통해서만 도착한)을 제거하면 작업이 중단되고 관계가 업데이트되지 않습니다.

왜?

답변

1

제출할 때 일부 유효하지 않은 속성이있을 수 있습니다. 다시로드 할 때 유효성 확인 상태로 다시 제출하여 저장할 수 있습니다. 재로드없이 저장 한 후 submission.errors를 시도하십시오.

+0

좋은 이론입니다. 'save' 대신에'save!'를 사용 해보고 무슨 일이 일어나는 지보십시오. – davogones