【问题标题】:Where should I put a list of static data in Ruby on Rails?我应该在 Ruby on Rails 中的哪里放置静态数据列表?
【发布时间】:2012-07-11 00:21:18
【问题描述】:

我有一个 Cities、States、Categories 等的静态字符串数组,我的应用程序可以在不同的地方访问它。我应该把这个放在哪里?在某个地方的 yml 文件或 lib 目录中的 rb 文件中?

谢谢!

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    看到这个so question

    基本上,将/config/initializers 中的常量放在.rb 文件中。


    编辑:

    因此,这并不是真正恒定的数据,因为“几个月一次”信息会发生变化。在这种情况下,您应该将信息放入数据库并缓存它。缓存将防止往返数据库,您可以在需要更新信息时使缓存过期。

    【讨论】:

    • 城市、州和类别的静态数据列表是否会被视为常量?这些似乎是一次性的单个常量或设置常量。
    • 如果您的数据将发生变化,请将它们放入数据库中。但常数不必只是一个值。它也可以是事物的列表,例如城市和州。另外,您称它们为“静态”,这意味着它们不会改变……换句话说,是不变的。
    • 因此,当我添加城市或类别时,它们可能会发生变化,但这种情况很少见——几个月一次。通过将它们放入数据库中,我需要前往数据库以获取我也试图通过这条路线避免的信息。
    • 你应该把它们放在数据库中然后缓存它。这样您就可以稍后更改它,并且您可以获得不访问数据库的性能优势。我将此信息添加到我的答案中。
    【解决方案2】:

    我建议您将其放入 config/locales/*.yml 文件中。这很好,因为您可以为不同的语言指定不同的城市名称。请参阅internationalization guide 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 2014-01-02
      • 1970-01-01
      • 2017-10-20
      • 2019-12-24
      • 1970-01-01
      相关资源
      最近更新 更多