在我的Rails應用程序中,我希望有一個可排序列表作爲對象創建的一部分。 Railscast中建議的最佳做法是添加acts_as_list
插件,然後啓動AJAX調用來更新項目位置。但是,AJAX調用不適用於未保存的模型,這是new
的情況。在「新」控制器上執行AJAX調用
一種解決方案是立即將模型保存在new
上,並重定向到edit
。這樣做會產生很好的副作用,使得用戶可以在中斷的情況下繼續工作。
但是,該解決方案增加了保存無效模型的不必要的複雜性,從而危及了rails的驗證過程。有沒有更好的方法來允許AJAX +驗證,而不會做太多工作?
只是爲了確保我的理解:以後我讓AJAX調用的「新」,我必須運行某種JS邏輯的更新頁?比實現「position」屬性的客戶端緩存更簡單嗎? – shmichael 2010-06-07 10:58:08
不一定,RJS可以爲您處理。例如,如果使用link_to_remote,並將要更新的DOM ID傳遞給:update選項,則新動作返回的任何內容都將放置在頁面上具有該DOM ID的元素中。 – 2010-06-07 14:37:20