【发布时间】:2012-05-29 07:42:37
【问题描述】:
我正在尝试翻译我的 Rails 3 应用程序,阅读 http://guides.rubyonrails.org/i18n.html#adding-date-time-formats 的入门书,随后从 https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale(在我的情况下为 de.yml)下载了相应的 yml 文件。
在我的一个观点中,我有这个代码 (some_model#index) ...
<td><%= time_ago_in_words(some_model.created_at) %></td>
...我改变了...
<td><%=l time_ago_in_words(some_model.created_at) %></td>.
不幸的是,这给了我这个错误:
Object must be a Date, DateTime or Time object. "etwa ein Monat" given.
知道为什么会失败吗? created_at 列已通过标准 Rails 脚手架在数据库中创建(数据库是使用 mysql2 gem 的 mysql)。
如果我从代码中删除 time_ago_in_words 助手...
<td><%=l some_model.created_at %></td>.
...翻译有效 - 但现在的日期时间对于我的 <td> 来说当然太长了。
我还尝试复制de.yml 的distance_in_words 部分并将其重命名为time_ago_in_words,但这也不起作用。
我是否遗漏了一些明显的东西?
【问题讨论】:
-
Err ...我...有点...困惑:写完最初的帖子后,我最终将相关代码块再次恢复为
<td><%= time_ago_in_words(some_model.created_at) %></td>,并希望得到一个在这里回答。如果没有<%=l,翻译会突然起作用。 o_O
标签: ruby-on-rails-3 internationalization