我很難理解佈局視圖的方式,以便爲嵌套窗體正確嵌套屬性。Rails手動設置視圖中的嵌套屬性
我PARAMS這個樣子......
Parameters: {"utf8"=>"✓",
"authenticity_token"=>"retsty/G2I1FyYybXm9kVaZi+aPjQm4jsmLdLW3wxsc=",
"receipt"=>{"receipt"=>"", "receipt_date(1i)"=>"2014", "receipt_date(2i)"=>"9", "receipt_date(3i)"=>"19",
"po_receipts_attributes"=>[
{"jobquote_order_id"=>{"3"=>"", "5"=>""}, "qty"=>"30"},
{"qty"=>"11"}
]},
"commit"=>"Receive"}
的po_receipts_attributes
陣列沒有正確嵌套的哈希值。
格式:po_receipts_attributes: [{jobquote_order_id: <value>, qty: <value>}, {jobquote_order_id: <value>, qty: <value>}]
據http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html,我的PARAMS應該是這樣的......
Parameters: {"utf8"=>"✓",
"authenticity_token"=>"retsty/G2I1FyYybXm9kVaZi+aPjQm4jsmLdLW3wxsc=",
"receipt"=>{"receipt"=>"", "receipt_date(1i)"=>"2014", "receipt_date(2i)"=>"9", "receipt_date(3i)"=>"19",
"po_receipts_attributes"=>[
{"jobquote_order_id"=>"3", "qty"=>"30"},
{"jobquote_order_id"=>"5", "qty"=>"11"}
]},
"commit"=>"Receive"}
我似乎無法獲得的方式嵌套的視圖正確屬性。我已經嘗試了許多不同的語法。
在我看來,我有以下代碼...
= hidden_field "receipt[po_receipts_attributes][][jobquote_order_id]", jq_o.id
= text_field_tag "receipt[po_receipts_attributes][][qty]", ""
HTML輸出...
<td>
<input id="receipt_po_receipts_attributes__jobquote_order_id_3" name="receipt[po_receipts_attributes][][jobquote_order_id][3]" type="hidden" />
<input id="receipt_po_receipts_attributes__qty" name="receipt[po_receipts_attributes][][qty]" type="text" value="" />
</td>
<td>
<input id="receipt_po_receipts_attributes__jobquote_order_id_5" name="receipt[po_receipts_attributes][][jobquote_order_id][5]" type="hidden" />
<input id="receipt_po_receipts_attributes__qty" name="receipt[po_receipts_attributes][][qty]" type="text" value="" />
</td>
什麼是處理的最佳方式?
謝謝你的解決方案。你能夠允許accept_nested_attributes_for'自動處理它的語法嗎?我想過使用這樣的索引,但是因爲它沒有遵循API文檔,所以這看起來不正確。由於返回的記錄集,我需要手動創建視圖(我認爲),或者我會使用'fields_for'。 – Beengie 2014-09-19 18:07:46
是的,我可以推測。如果你使用'accept_nested_attributes',那你爲什麼要手動設置它們呢?由於返回的記錄集而導致「 – Surya 2014-09-19 18:08:48
」。我需要測試訂單,看它是否在它被包含在表單中之前關閉。 – Beengie 2014-09-19 18:11:18