Rails 3 вложенных формы с has_many: through, запись в таблице соединений не удаляется после обновления - PullRequest
0 голосов
/ 19 октября 2010

У меня есть модель 'User', которая имеет отношение has_many к модели 'Number' через модель таблицы соединений 'user_number'.Я использую:

accepts_nested_attributes_for :numbers, :allow_destroy => true

в модели «Пользователь».Все работает отлично, за исключением того, что всякий раз, когда я удаляю число из пользователя в форме редактирования, связанный номер удаляется правильно в таблице 'number', но не в записи в таблице соединений 'user_number'.

InДействие контроллера обновлений Я использую только это:

...
if @user.update_attributes(params[:user])
...

Как я могу заставить рельсы также удалить связанную запись в таблице соединений?

1 Ответ

1 голос
/ 26 декабря 2010

У вас должен быть пользователь accepts_nested_attributes_for: join_class,: allow_destroy => true.Затем вы удаляете ассоциацию.Идея, лежащая в основе has_many: through, состоит в том, что вы не удаляете часть m отображения n-> m, если не осталось других ассоциаций ..

...