Смущен вложенными ресурсами в формах RoR - PullRequest
0 голосов
/ 10 марта 2011

Мое намерение состоит в том, чтобы иметь возможность редактировать винный продукт и связанные с ним награды / обзоры в одной форме.Итак, переход на страницу "http://mydomain.com/wines/cab-sauv/edit" показывает форму, в которой я могу редактировать имя, год и т. Д. Он также сгенерирует список наград и обзоров, чтобы я мог добавлять / удалять / редактировать каждую награду и рецензию. СохранениеWine автоматически сохраняет / обновляет / удаляет награды и обзоры.

У меня возникают проблемы при создании формы для вложенных объектов (награды и обзоры). Ниже приведен модифицированный пример того, что я сейчас пытаюсьсделать:

<% form_for @wine do |w| %>
    Stock: <%= w.text_field :stock, :size => 12 %>
    <% @wine.awards.each do |awd| %>
        Award: <%= w.select ???, @medals %>
    <% end %>
<% end %>

Я не получаю вложенных ресурсов, когда дело доходит до форм. Есть ли что-то, что я должен сделать и в маршрутах?

Ответы [ 2 ]

2 голосов
/ 10 марта 2011

Попробуйте вместо этого

<% form_for @wine do |w| %>
   Stock: <%= w.text_field :stock, :size => 12 %>
   <% w.fields_for :awards do |awd| %>
     Award: <%= awd.select :awd_field_name, @medals %>
   <% end %>
 <% end %>

В файле app / models / wine.rb обязательно вызовите эту строку где-нибудь,

accepts_nested_attributes_for :awards

Вы можете прочитать этот превосходный учебник и для вложенных ресурсов. http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes. Удачи!

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

Я бы порекомендовал вам взглянуть на Railscast для вложенных форм моделей:

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