Rails 3.0.x - почему обновляется другая модель? - PullRequest
2 голосов
/ 21 марта 2011

Я пытаюсь выяснить вещи в коде, написанном кем-то другим. Существует две модели с простым соотношением has_many (A-> B).

Теперь проблема в том, что при сохранении модели «B» в базе данных также обновляется модель «A». Теперь нет никаких обратных вызовов, нет особых условий отношения (: автосохранение и т. Д.), А также нет наблюдателей в коде.

Вопрос в том, что может быть другим, что определяет такое поведение?

Обновление: я пытаюсь отладить процесс сохранения, чтобы отследить что-либо, но меня переполняет количество вызовов внутренних методов active_record, поэтому этот подход становится бесполезным.

Бонусный вопрос: как я могу сбросить обратные вызовы текущей модели (в случае, если они были добавлены каким-либо образом, который не поддается моим навыкам подбора).

Ответы [ 2 ]

1 голос
/ 21 марта 2011

Может иметь: touch => true. Это автоматически обновляет ассоциацию.

0 голосов
/ 21 марта 2011

Это оказалось очень сложной внутренней ошибкой приложения в Marshaling.В результате записи, извлеченные из кэша, были помечены как не сохраненные, что заставило ActiveRecord создать дублирующую запись при сохранении связанных объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...