2010-11-30 24 views
4

是否有一個模板語言同時具有服務器端ruby(pref。rails)和JS渲染器?模板語言的Ruby和客戶端JS

這是爲什麼這將是有用的:考慮你想顯示一個大的歌曲列表。您呈現前50個和「顯示更多」按鈕。

如果啓用JavaScript,則「顯示更多」將鏈接到接下來的50首歌曲,或者將使用AJAX加載這些歌曲。

簡單的解決方案是從服務器返回呈現的HTML片段,但考慮它將如何以歌曲作爲JSON返回,然後在客戶端使用相同的模板呈現。

+0

這不是一個答案,所以我不把它作爲一個發佈。從我對Node.js知之甚少,你所要求的是它的一個優點。您在瀏覽器中執行的相同DOM操作可以在服務器上完成,並使用相同的代碼。更好的是,業務邏輯可以以類似的方式共享。可悲的是,我不知道在rails中運行javascript解釋器的方法:-( – noodl 2010-11-30 16:14:28

回答

4

Mustache

這是基於Ruby的,但有幾個不同的實現,包括JS。

-1

Node.js提供了在服務器端和客戶端都使用javascript的吸引力。如果你正在尋找更像ruby-on-rails的東西,那麼請查看express.js這是一個基於Node.js構建的web框架。這兩個都是服務器端的框架,但它們提供了可以在客戶端使用的庫。

需要注意的是,如果您要從客戶端的JSON數據呈現視圖,那麼您需要讓客戶端加載JavaScript庫來執行這些操作,然後呈現視圖 - 這可能會更昂貴操作。也就是說,如果您的視圖足夠簡單,您可以隨時編寫自己的簡單JavaScript函數來呈現您的JSON數據,而不是依賴於全新的框架和視圖渲染器。

0

hamlc支持雙方... slim也有一個客戶端版本它也被稱爲skim。