nested_form - действие редактирования не показывает вложенные элементы - PullRequest
0 голосов
/ 25 апреля 2011

У меня есть nested_form , где вложенные элементы динамически добавляются и удаляются в форме с использованием Javascript.

У меня есть весь этот фрагмент, работающий для элементов new action - elementsдобавьте и уничтожьте, и все будет сохранено как надо.

При доступе к действию edit я получаю правильный родительский элемент, но дочерние элементы не отображают - вместо этого edit view дразнит меня с помощью длительной (и бесполезной) кнопки «Добавить опцию».

Где я могу ошибаться?

Ответы [ 4 ]

2 голосов
/ 12 октября 2012

У меня была точно такая же проблема, и я обнаружил, что именно до блока "fields_for" были созданы вложенные элементы.Например, у меня было:

<%= nested_form_for(@recipe) do |f| %>

  # Stuff for parent...

  <% f.fields_for :recipe_ingredients do |ingredient_form| %>
    # Stuff for nested form...
  <% end %>
  # etc.

Эта строка должна была быть блоком <%=, а не <%, как указано выше, т.е.

<%= nested_form_for(@recipe) do |f| %>

  # Stuff for parent...

  # The following line has changed
  <%= f.fields_for :recipe_ingredients do |ingredient_form| %>
    # Stuff for nested form...
  <% end %>
  # etc.

Это было все, что было нужнораспечатать существующие вложенные атрибуты в форме редактирования.

2 голосов
/ 25 апреля 2011

попробуйте драгоценный кокон, это действительно удобно и позаботится о javascript вложенных форм для вас !!

Вот ссылка http://www.dixis.com/?p=454&lang=nl

0 голосов
/ 06 мая 2011

У меня была точно такая же проблема (я серьезно потерял некоторые волосы на этом). Я был рад найти этот вопрос, ни у кого, казалось, не было этого. Мое решение было «тривиальным»: я обновил с Rails 3.0.0 до 3.0.6 (3.0.7 поднял еще одну проблему) на моем Windows Box.

Я больше не расследовал, потому что теперь это работает. Я не изменил ни одной строки кода. Возможно, это верное исправление и для тебя.

Плз, дайте мне знать ...

С уважением, Дирк

0 голосов
/ 25 апреля 2011

Проверьте свою форму для редактирования ресурса.
Попробуйте использовать переменную экземпляра в родительской форме, например:

<%= form_for @parent_resource do |form| %>
   ... some field ...
<%= form.fields_for :children_resources do |f| %>
...
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...