Надеемся, что это данк для Rails maven:
У меня есть форма, которая должна перебирать набор LineItems
и собирать информацию о каждом. Я пытаюсь заставить form_for
и fields_for
создать правильные имена полей и параметры, чтобы дать моему контроллеру хэш params что-то вроде
params[:line_items] = { <line_item.id> => { :rma_reason => "some string", :rma_qty => 2 } }
Что у меня есть:
<% form_for(@object) do |rma_form| %>
<% @order.line_items.each do |item| %>
....
<% fields_for item do |item_f| %>
<%= item_f.text_area :rma_reason %>
<%= item_f.text_field :rma_qty, :value => item.quantity, :size=>3 %>
<% end %>
....
<% end %>
<% end %>
И результирующий HTML выглядит так (как я и ожидал):
<textarea id="line_item_id" name="line_item[id]"></textarea>
<input id="line_item_rma_qty" name="line_item[rma_qty]" size="3" type="text" value="1" />
Однако что я пытаюсь получить (и не могу найти никакого решения, кроме возврата к специальным HTML-тегам), это имена полей, которые индексируются line_item.id
, например, line_item [1928] [rma_qty] например. Это позволило бы моему контроллеру перебирать каждый элемент line_item и обновлять его с заданными параметрами.
- ... может быть, в чистом пользовательском интерфейсе REST форма должна быть привязана к ОДНОМУ экземпляру
LineItem
, и будет работать стандартная форма form_for, но пользователь должен иметь возможность отправить все изменения сразу с помощью одной формы. Возможно ли это?