2012-04-13 108 views
0

是否有任何插件允許用戶創建自己的模板?所以我用像水木清華安全模板(Ruby on Rails)

Templates.find(5).render(:val1 => val1, :val2 => val2) 

有一個名爲液體但它似乎並不安全(用戶可以刪除數據庫等)的一個很好的插件。

謝謝。

回答

4

液體是一個非常受歡迎的神廟系統,被認爲是安全的。實際上這是設計目標之一。從液體文檔:

液體是用非常具體的要求寫了一個模板引擎:

它有美麗而簡單的標記。不會產生好看的標記的模板引擎不好玩。

它需要是非評估和安全的。製作液體模板以便用戶可以編輯它們。您不想在您的用戶編寫的服務器上運行代碼。

它必須是無狀態的。編譯和渲染步驟必須獨立,以便昂貴的解析和編譯可以完成一次,稍後您可以使用局部變量和對象傳遞散列。

2

機車CMS使用稱爲液體的寶石聲稱這樣做。在這裏檢查它http://rubygems.org/gems/liquid

+0

我在我的問題中提到過它。 :)然而,真的不安全?我可以在模板中執行任何代碼,不是嗎? – Ximik 2012-04-13 13:10:39