/ / Dlaczego potrzebuję przeładować obiekty przed ich zapisaniem, aby relacje zostały zaktualizowane? - rubin, ruby-on-rails-3, mongoid, mongoid3

Dlaczego muszę przeładowywać obiekty przed ich zapisaniem, aby relacje mogły zostać zaktualizowane? - ruby, ruby-on-rails-3, mongoid, mongoid3

Nie jestem pewien, czy jest to rzecz specyficzna dla Mongoida, czy też ma zastosowanie do większego wzorca aktywnego rekordu. Mam następujący fragment kodu, który działa:

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

Relacja zostanie poprawnie zaktualizowana. Jeśli jednak wyjmę pierwszą linię (którą wyszedłem tylko metodą prób i błędów), przestaje działać, a relacja nie aktualizuje się.

Czemu?

Odpowiedzi:

1 dla odpowiedzi № 1

Przesłanie może mieć nieprawidłowe atrybuty, po ponownym załadowaniu przesłanie z powrotem do stanu walidacji i może zostać zapisane. spróbuj przesłać. błędy po zapisaniu bez przeładowania