的多個對象這是希望爲Rails行家扣籃:梁2:使用的form_for構建形成覆蓋同一類
我有一個應該遍歷一組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" />
然而什麼,我試圖讓(和faili除了回到專門的HTML標籤以外尋找任何解決方案)是由line_item.id
索引的字段名稱,例如, line_item [1928] [rma_qty]等。這將允許我的控制器遍歷每個line_item並用給定的參數更新它。
- ...也許一個純粹的REST UI,形式應與的
LineItem
一個實例,以及標準的form_for會工作 - 但用戶應該能夠一次與一個表單提交的所有更改。可能嗎?
沒有得到我的參數line_item.id,但你是對的,它讓我走下去了解fields_for實際上是如何工作的 - 儘管它有時候看起來很奇怪 - 謝謝! – sbeam 2010-11-18 21:23:37
@sbeam我的不好,我錯過了'fields_for'的第一個參數。我認爲在這些助手中使用模型參考的符號稍微更具可讀性。 – 2010-11-19 01:39:20