проблема с редактированием модели с использованием accepts_nested_attributes_for - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть три модели - донар, получатель и подарок,

Модель донора - has_one: получатель, own_to: подарок, acceptpts_nested_attributes_for,: получатель, acceptpts_nested_attributes_for: подарок

TheМодель получателя - принадлежит: донор

И модель подарка - has_many: donons

Когда пользователь находится на странице шоу - / donons / 1 - я хотел бы иметь возможность редактироватьПолучатель и добавить подарок.Они редактируют все три модели из одной формы.

Мое действие show в контроллере заключается в предоставлении формы для добавления получателя к донару в этой форме через @recipient = @ donor.build_recipient - я настроил формув представлении.Это работает!

, однако я пытаюсь разрешить пользователю прикреплять существующий подарок к пользователю через поле выбора, используя -

<%= select(:gift, :gift_id, Gift.all.collect {|p| [ p.name, p.id ] },  {:prompt => 'Select gift'}) %>

Это отображает поле выбора со всемиподарки, перечисленные в таблице.

Когда я отправляю форму, я могу отредактировать данные донора, добавить получателя, но модель подарка (или отношения донора с подарком) вообще не обновляется.Что я делаю не так?

1 Ответ

0 голосов
/ 19 ноября 2011

Я считаю, что вам нужно что-то подобное:

<% form_for @donor do |f| %>

  ...

  <% f.select :gift_id, Gift.all.map{ |p| [p.name, p.id] } %>

  ...

<% end %>

В этом случае вам не нужно accepts_nested_attributes_for :gift, так как вы выбираете подарок из списка доступных вместо того, чтобы создавать его в форме донора.

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