Я пытаюсь редактировать вложенные атрибуты, которые модели, сколько набросков here, воспроизводились здесь:Rails Вложенные атрибуты не вставляет ID Правильно
<%= form_for @person do |person_form| %>
<%= person_form.text_field :name %>
<% for address in @person.addresses %>
<%= person_form.fields_for address, :index => address do |address_form|%>
<%= address_form.text_field :city %>
<% end %>
<% end %>
<% end %>
В моем коде, у меня есть следующие:
<%= form_for(@meal) do |f| %>
<!-- some other stuff that's irrelevant... -->
<% for subitem in @meal.meal_line_items %>
<!-- # Edit 2: I need to display information here about the subitem
Which I can't find a way to pass it to the partial, or work in
this manner for existing items
-->
<%= subitem.food.name %>
<%= subitem.food.calories %>
<%= f.fields_for subitem, :index => subitem do |line_item_form| %>
<%= line_item_form.label :servings %><br/>
<%= line_item_form.text_field :servings %><br/>
<%= line_item_form.label :food_id %><br/>
<%= line_item_form.text_field :food_id %><br/>
<% end %>
<% end %>
<%= f.submit %>
<% end %>
Это отлично работает, за исключением того, что, когда я смотрю на HTML, он создает входы, которые выглядят следующим образом, не введя правильный идентификатор и вместо этого помещая представление памяти (?) Модели. В результате неудачного обновления:
<input type="text" value="2" size="30" name="meal[meal_line_item][#<MealLineItem:0x00000005c5d618>][servings]" id="meal_meal_line_item_#<MealLineItem:0x00000005c5d618>_servings">
EDIT: Поэтому я пытаюсь сделать это в этом методе является то, что мне нужно собрать некоторую информацию об ассоциациях для существующих meal_line_items. Например, в районе, где я вынул код, у меня есть некоторый код для эффекта:
<%= subitem.food.name %>
<%= subitem.food.calories %>
Получение этой информации не будет работать, если я использую форму строитель с частичными, по крайней мере, не в мои испытания.
Редактировать 2: * См. Изменение в коде. Вот мой MealLineItem
class MealLineItem < ActiveRecord::Base
# Associations ---------------------
belongs_to :food
belongs_to :meal
end
И еда accepts_nested_attributes для модели. Как вы можете видеть, это относится как к модели еды, так и к еде. Для существующего meal_line_item мне нужно сделать что-то вроде:
meal_line_item.food.name
я пропустил копирование п. при копировании кода из разных способов :( – MunkiPhD
Итак, это не решило проблему? – Heikki
Нет. Для справки, без ф. входы по существу не утверждают, что они являются частью «Питание», и заканчивается следующим id: meal_line_item _ # _servings –
MunkiPhD