У меня прямая связь между двумя моделями: Актив и Обновление.
обе модели (минус несвязанные методы) здесь:
http://pastie.org/1062627
Я столкнулся с проблемой, когда запись актива больше не будет обновляться. Например простой тест:
a = Asset.first ; puts a.description; a.description = "new" ; a.save ; puts a.errors ; puts Asset.first.description
сгенерирует:
"old" {} "old"
a.save возвращает true, a.errors пусто; но изменение не сохраняется.
Я просмотрел каждый элемент в моей модели активов, чтобы попытаться выяснить, что его вызвало, и обнаружил, что если я удалил отношение «own_to: update», то все работало нормально.
Но как связь с другой таблицей без проверок может помешать сохранению записи, остается загадкой. (Кроме того, если бы это была проблема с проверкой, то при попытке сохранения @ asset.errors не было бы пустым.)
Чтобы сделать ситуацию более странной, я решил переименовать мою модель обновления в модель отчета. С этим все получилось. Поэтому, возможно, «Обновление» - это зарезервированное имя для модели (кажется маловероятным). Но я не хочу переименовывать эту модель, если мне не нужно (это уже слишком много мест), поэтому я думаю, что здесь должно быть что-то еще, что не так или что я скучаю.
Любая помощь приветствуется. Спасибо.