2016-05-04 3 views
1

Возникли следующие ассоциации:Rails удаляет запись на редактирование и отправить

Workout has_many workout_sets through ...

workout_set has_many workout_steps through ...

При редактировании объекта я испытываю следующий вопрос:

1) Заходим в /model/:id/edit

2) проверка db, как только страница загружает атрибуты верхнего уровня (нет n-вложенные) удаляются из db после загрузки страницы, но метки выбора выбираются правильно, как если бы в момент загрузки данные были правильными.

3), оставляя страницу без сохранения (возвращения в /model/:id) выполняет следующие действия:

  • 3,1) не обновить объект, из-за каких-либо форм не представляется. 3.2.4) оставить меня с моделью без ее основных свойств, в то время как самые глубокие вложенные атрибуты остаются неизменными.

Я использую cocoon и simple_form для обработки вложенных моделей. Это что-то на Rails, которого я пропускаю?

P.S: Я могу предоставить код при необходимости.

+0

До сих пор нашли [аналогичный вопрос] (http://stackoverflow.com/questions/33610981/edit-form-deletes-a-record-from-the-database), но решение неясно. – alexunger

+0

Да, пожалуйста, предоставьте код. Особенно определение ассоциаций. Мне непонятно, что удалено. «атрибуты верхнего уровня» удаляются? Итак, вы имеете в виду, что атрибуты от тренировки (которая является верхним элементом?) Очищаются? – nathanvda

+0

Привет @nathanvda! уже исправил его. С атрибутами верхнего уровня я имел в виду те, которые не вложены. Например, тренировка имеет 'title',' description' (первый/верхний уровень) ... и 'workout_sets', последний - массив объектов. Но снова см. Ответ ниже. – alexunger

ответ

1

Для записи:

Решение просто:

:force_non_association_create => true на каждом link_to_add_association. Для получения дополнительной информации проверьте this