Rails I18n:星期几

时间:2011-01-29 15:42:23

标签: ruby-on-rails ruby internationalization

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

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

Start_time和end_time都作为日期时间类型存储在数据库中。

日期尚未实施,但会显示为选择框。我看到人们建议一组常量并将其作为整数存储在DB中。虽然这似乎是合理的,但我很难想象使用不同语言(使用I18n或Globalize2)可以很好地工作。

实现这一目标的最简洁方法是什么,以便在不同语言中运行良好?

2 个答案:

答案 0 :(得分:1)

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

i18n是要走的路。您可以浏览this repository来查找已经用不同语言进行过翻译的day_names

答案 1 :(得分:0)

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

绝对不要将这些值存储为字符串,但是处理它们会更难处理它们会占用更多空间。