我是一個新手,軌時遇到一些困難......在單個提交中更新多個記錄? - Rails的3
我有一個表顯示的記錄列表的頁面,並且希望用戶能夠作出修改,提交表單,運行驗證並保存數據。
這是我到目前爲止有:
查看:
- @people.each do |p|
%tr
%td
%input{:type => "hidden", :name => "person_id[]", :value => p.id}
%input{:name => "firstname[]", :value => p.firstname}
%td
%input{:name => "lastname[]", :value => p.lastname}
實例參數被傳到控制器:
"person_id"=>["12", "13", "14"],
"firstname"=>["john", "joe", "mary"],
"lastname"=>["smith", "bloggs", "jane"],
在這一點上我很害怕,因爲我不再綁定到活動記錄。相反,我覺得自己想編寫一些亂七八糟的代碼來循環訪問person_id數組,以查看發生了什麼變化並寫回任何更改。
這感覺不好,因爲我必須明確地比較每個字段,如果由於驗證錯誤導致某些內容失敗,我應該如何回滾所有更改並向用戶顯示消息?
我希望由於我的軌道無知這整個方法是錯誤的,我錯過了一個把戲。有沒有人有任何建議如何解決這個問題?
看看http://stackoverflow.com/q/5583568/800526的答案 - 更具體地http://railscasts.com/episodes/198-edit-multiple-individual?view=asciicast –