我的工作我的第一個「真正的」(而不是玩弄)導軌使用軌道1 & 2在過去的四年後3項目。在銷燬行爲的js塊中,我想要做一些典型的操作:刪除包含頁面上已刪除資源的div。Rails 3 js塊:使用jquery片段呈現部分內容或將內容呈現爲文本片段?
我無法決定渲染出如下所示的destroy.js.erb文件是否更好:(所討論的資源是'note',方法.dom_id只是返回一個字符串,如「note _#{note .ID}」)
方法答:呈現一個js視圖文件
#in controller
format.js
#in views/notes/destroy.js.erb
$('#<%= @note.dom_id %>').remove();
這有保持控制器完全乾淨和標準的優勢。
方法B:把JS控制器:
#in controller
format.js { render :text => "$('##{@note.dom_id}').remove()" }
這有讓看的控制器代碼,來即時查看發生了什麼事情,沒有去打獵了一個視圖文件的人的優勢它的代碼行。另一方面,它打破了MVC。
您認爲如何?哪個更「適當」,「標準」等?還有第三種(第四,第五種)更好嗎?
這一切似乎明智,謝謝@McStretch。我有點偏向那個方向。 – 2011-05-19 12:42:25
沒問題@Max。我總是有同樣的疑慮,特別是對於單線隊員。我猜想另一個總是爲*方法A *的原因是你可能會有一些包含很多JavaScript的js.erbs(你不會內聯),所以你可以保持它的一致性,總是去文件路線。這將使未來的決定容易,因爲你總是沿着一條路線走下去。 – McStretch 2011-05-19 12:52:04