【问题标题】:Rails Application :: Where to put default texts for the modelsRails 应用程序 :: 将模型的默认文本放在哪里
【发布时间】:2013-09-16 12:58:19
【问题描述】:

在我的 Rails 应用程序中,我需要维护太多默认文本。例如,我有一个 Hotel 模型。当有人创建酒店时,会自动为该酒店创建一些默认电子邮件模板、默认短信模板。目前我在 Constants 模块中维护它们并像这样访问它们:

 Constants::DEFAULT_RESERVATION_EMAIL_TEMPLATE

 Constants::DEFAULT_RESERVATION_SMS_TEMPLATE

等等

我想知道是否还有其他方便有效的方法来维护这些默认文本,因为 Constants 模块似乎每天都在变大。我想我可以在 yaml 文件中管理它们,这样它就不会影响内存,并且我可以在必要时从 yaml 文件中读取。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    我会为此使用普通的 i18n yml 文件。您可以通过 yml 文件管理多种语言。您可以轻松更改内容。

    但您也可以使用数据库作为后端。

    以下链接可以给你一个想法:

    【讨论】:

    • 我使用 globalize3 来存储翻译后的内容。顺便说一句,您更喜欢将模型默认数据存储在 yaml 文件中而不是使用常量?
    • 是的,我愿意。我用 yaml 文件翻译所有“静态”和“默认”的东西。文件格式很简单,你可以把它交给你的翻译人员,他们可以直接翻译内容。使用常量,您总是必须在代码库中复制新的翻译。 Yaml 文件可以单独保存。我认为通过这种分离,你的代码会更干净——比如单独的 css 和 js 文件:)..
    • 感谢您对我的支持 :),尽管它包含一些复杂的散列,但我将摆脱我的常量。不确定将这些哈希值放入 yaml 文件中会有多复杂。
    • 我认为您可以轻松地将复杂的哈希转换为 yaml 文件。也许这也可以帮助您:yaml.org/YAML_for_ruby.html 如果我是对的,yaml 只是 ruby​​ 哈希的另一种“语法”或“格式”。您总是通过 yaml 格式解释 ruby​​ 哈希,反之亦然。
    猜你喜欢
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多