隨着我目前的項目,我遇到了一種情況,並試圖找出最佳實踐。單個AJAX動作多個視圖導軌最佳實踐
假設有一個儀表板視圖和一個任務視圖。所有任務CRUD操作都可以在任一視圖中完成。
用於顯示錶單的容器和用於列出任務的容器在每個視圖上具有不同的名稱。
我發現3個解決方案,但我不知道這是最好的做法:
一個視圖不同的途徑:即new_task_dashboard_ iew_path - 不是很寧靜,但new.js和new_dashboard_view.js針對HTML分離操縱
將一個param [:view]傳遞給AJAX請求,然後在new.js中添加一個if語句以指示要更新哪個容器,即。 (如果params [:view] =='dashboard'種語句)
只留下new.js - DOM上不存在的容器不會更新 - 只有存在的容器會更新
所有3個工作,但作爲一個新的鐵軌用戶,我試圖找出最合適的方法是什麼。或者也許有一種我不知道的更好的做法?
不知道這應該是「回答」還是隻是評論,因爲它對你的設計方法是主觀的......但是,經驗告訴我(痛苦的是)有單獨的控制器(#1)和然後利用控制器問題/修改您的js/partials /共享視圖以保持乾爽。我發現試圖簡化到不同概念的共享控制器的程度會導致你在添加更多行爲/理解你的代碼時更加痛苦。 – dstull
謝謝,這是有道理的。我大部分時間都在嘗試#2,當我回去改變視圖時,我一直在掙扎。聽起來好像沒有明顯的「Rails方式」,但有些方法可能不那麼痛苦! –