2010-10-21 63 views
0

在我們的應用中有不同的主題,每個主題有以下結構自身的默認內容:回報率:存儲在文件中的HTML供以後使用

ROWS 
    COLUMNS 
    CONTENT 
     HTML DATA 1 
    CONTENT 
     HTML DATA 2 

可能有多個行,列和內容元素。我們需要將這些數據存儲在一個文件中(手動),然後讀取&將其轉儲到數據庫中。我們嘗試過使用XML,但即使使用CDATA也不可行。

我們有其他選項是:

一個。保存在簡單的HTML文檔中,並使用Hpricot進行檢索

b。使用YAML在檢索時存儲

請讓我知道哪種方式更好或者其他更好的替代方法。

感謝,

伊姆蘭

回答

1

好了,我不是你想存儲的主題是什麼不太清楚。對於一般主題類型的應用程序,您應該結賬液體(http://www.liquidmarkup.org/)或小鬍子http://github.com/defunkt/mustache

爲了存儲不需要在SQL數據庫中查詢的任意結構,可以使用yaml或JSON。我的偏好是JSON,因爲它更快,更簡單,基本上完成了工作。

如果您需要像XML文檔一樣查詢它,那麼我會提醒您不要使用一個HTML文檔來存儲所有信息,因爲在正常主題化過程中意外地將文件搞亂(例如,如果您有一個指示某個列或行的類,並基於此類來轉換文檔,如果該類意外地用於樣式化HTML的某個塊,則可能會得到意外的結果)。

你也不應該使用Hpricot,因爲它基本上沒有維護,並且不推薦使用Nokogiri。

+0

本,感謝您的詳細回覆。主題不是針對應用程序本身,而是針對應用程序允許創建的頁面。你可以稱他們爲頁面模板。每個模板都有自己的默認內容,這是我希望存儲在文件中的內容,並且不希望存儲在數據庫中。 只是爲了確認,我應該使用JSON來進行數據存儲和檢索嗎? – Saim 2010-10-21 17:27:05

+0

任何用於在RoR中使用JSON的資源? – Saim 2010-10-21 17:57:14

+0

其實,在這種情況下,你應該看看Jekyll(http://github.com/mojombo/jekyll)。因爲它直接映射到ruby哈希,字符串,數字和數組,所以JSON本質上是微不足道的。關於JSON gem的文檔綽綽有餘(並且它的接口也被YAJL模擬,速度更快) – 2010-10-21 18:38:05

相關問題