【问题标题】:RoR: Storing HTML in a File for Later UseRoR:将 HTML 存储在文件中以备后用
【发布时间】:2011-04-28 16:45:34
【问题描述】:

在我们的应用程序中,我们有不同的主题,每个主题都有自己的默认内容,结构如下:

ROWS
  COLUMNS
     CONTENT
        HTML DATA 1
     CONTENT
        HTML DATA 2

可能有多个行、列和内容元素。我们需要将这些数据存储在一个文件中(手动),然后将其读取并转储到数据库中。我们尝试使用 XML,但即使使用 CDATA 似乎也不可行。

我们还有其他选择:

一个。存储在简单的 HTML 文档中并使用 Hpricot 进行检索

b.检索时使用 YAML 进行存储

请告诉我哪种方式更好或任何其他更好的选择。

谢谢,

伊姆兰

【问题讨论】:

    标签: html ruby-on-rails yaml hpricot


    【解决方案1】:

    好的,所以我不太清楚您要为主题存储什么。对于一般主题类型的应用程序,您应该检查液体 (http://www.liquidmarkup.org/) 或 mustache http://github.com/defunkt/mustache

    对于在 SQL 数据库中存储不需要查询的任意结构,您可以使用 yaml 或 JSON。我更喜欢 JSON,因为它更快、更简单,而且基本上可以完成工作。

    如果您需要像 XML 文档一样查询它,我会提醒您不要使用一个 HTML 文档来存储所有信息,因为在正常主题化过程中意外地搞砸文件相对容易(例如,如果您有一个类来指示其中一个列或行,并且您根据它来转换文档,如果该类被意外用于设置 HTML 块之一的样式,您可能会得到意想不到的结果。

    您也不应该使用 Hpricot,因为它基本上没有维护并且已弃用,有利于 Nokogiri。

    【讨论】:

    • 本,感谢您的详细回复。主题不是针对应用程序本身,而是针对应用程序允许创建的页面。您可以称它们为页面模板。每个模板都有自己的默认内容,这是我希望存储在文件中而不希望存储在数据库中的内容。只是为了确认一下,我应该使用 JSON 来存储和检索数据吗?
    • 实际上,在这种情况下,您应该查看 Jekyll (github.com/mojombo/jekyll)。 JSON 本质上是微不足道的,因为它直接映射到 ruby​​ 哈希、字符串、数字和数组。 JSON gem 上的文档就绰绰有余了(而且它的接口也是 YAJL 模拟的,速度更快)
    • 如果我是你,我仍然会将页面模板存储在数据库中,因为这样可以让你灵活地使用它们。
    • 我同意。实际上,我们有两种类型的页面模板 a) 系统模板 b) 自定义模板(用户特定)。对于前者,我们将内容存储在数据库中,而对于后者,我们希望将其用于某些文件存储,以便我们可以轻松地将其(用户特定数据)移动到其他服务器。请指教。
    • 什么是最简单和最容易获取存储的 HTML(也考虑到它的结构)?
    猜你喜欢
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 2019-03-11
    • 2013-06-23
    • 1970-01-01
    相关资源
    最近更新 更多