【问题标题】:Rails I18n: Days of weekRails I18n:星期几
【发布时间】:2011-01-29 15:42:22
【问题描述】:

我有一个练习模型,它存储 start_time、end_time 和 day。

该信息(与网站的其他部分一样)需要以 3 种不同的方式显示 语言。

Start_time 和 end_time 都作为 Datetime 类型存储在数据库中。

Day 尚未实现,但将显示为一个选择框。我看到人们建议使用一个常量数组并将其作为整数存储在数据库中。虽然这看起来很合理,但我无法想象它可以与不同的语言(使用 I18n 或 Globalize2)很好地兼容。

实现这一点的最简洁的方法是什么,以便它在不同的语言中都能很好地工作?

【问题讨论】:

    标签: ruby-on-rails ruby internationalization


    【解决方案1】:

    我看不出将星期几存储在数据库中的充分理由;如果这些名称会发生​​变化,我会感到惊讶,我们谈论的是 7 * 3 字符串,这是为您的应用程序处理的少量数据。

    i18n 是要走的路。您可以浏览this repository 以找到已翻译成不同语言的day_names

    【讨论】:

    • 如何使用它在正确的语言环境中输出任何给定时间对象的星期几?
    【解决方案2】:

    如果您无法从开始和结束 DateTime 对象存储或计算星期几,那么我建议使用 ENUM in the database - 这会导致数据以整数形式存储 - 占用的空间更少并且更容易索引,并且自动为您完成到字符串类型的转换,以便您可以查询和插入字符串,但实际的数据库值是整数。

    当然不要将这些值存储为字符串,因为它们更难处理并且占用更多空间。

    【讨论】:

      猜你喜欢
      • 2016-06-27
      • 2013-12-31
      • 2016-10-22
      • 2015-05-13
      • 2022-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多