2010-10-21 62 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

相关问题