假設,我有一個複雜的嵌套形式,有很多字段。Ruby on Rails 3,窗體,ajax,嵌套,就地編輯,一個接一個。最佳做法
我想以ajax的方式逐個編輯它的字段,以便每次看到表單時都是'show'樣式(沒有字段來改變信息),但是可以切換任何特定的字段或使用自己的「保存」或「更新」按鈕進行「編輯」模式的一組字段。
解決這樣的問題,我結束了兩個方面:
超期使用的Ryan Bates' complex-form-examples。
這種方式的缺點是,每個字段(或一組字段)都需要它自己的代碼(即javascript:'insert_fields'),它呈現相應的'編輯'樣式表單,因此導致頁面被javascripts淹沒。第二個 - 統一過程通過特殊的控制器動作(即get_partial)通過ajax加載相應的編輯部分,該編輯部分通過'編輯'形式給出字段區域的「render:do updates」。
對於給定的字段或字段組,我有部分「編輯」和「顯示」。當我需要將該字段切換到編輯模式時,我通過ajax發送帶有必要參數的請求(link_to ...,'/.../get_partial?partial=foo',:remote => true
),並且一些控制器#動作通過javascript呈現部分內容。
我認爲第二種方法更好,但我不明白如何優化它是最好的。
這個問題還有沒有更優雅的解決方案?
這種解決方案與我在第一種方法中的意思相似。這種方法需要對每個字段進行雙重渲染 - 無論是「顯示」還是「編輯」樣式。我試圖避免用'隱藏/顯示'js的方法。而且我們在這裏還有當我編輯只有一個字段(由ajax顯示字段)時,整個表單被提交,即所有字段我甚至沒有決定改變。 – 2011-02-12 04:40:05