首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >time_ago_in_words问题

time_ago_in_words问题
EN

Stack Overflow用户
提问于 2010-01-01 01:21:28
回答 2查看 4.8K关注 0票数 10

我在使用time_ago_in_words时遇到了一个问题(由于某种原因)。在发表了一篇文章后,我得到了

代码语言:javascript
复制
translation data {"one"=>"1 minute", "other"=>"{{count}} minutes"} can not be used with :count => 9

我实际上也没有做任何有趣的事情,只是调用一个小的helper函数

代码语言:javascript
复制
def friendly_publish_date(post)
  return '' if post.publish_date.nil?

  if post.publish_date >= 1.day.ago
    "#{time_ago_in_words post.publish_date} ago"
  else
    post.publish_date
  end
end

现在,这已经很好地工作了很长时间,然后我今天早上尝试发布一篇文章,它开始抛出前面的异常。有什么想法吗?

EDIT:再次发生,因此这里是请求的完整堆栈跟踪。

代码语言:javascript
复制
Processing PostsController#index (for 74.213.163.234 at 2010-01-05 11:43:26) [GET]
  Parameters: {"action"=>"index", "controller"=>"posts"}

Rendering template within layouts/application
Rendering posts/index

ActionView::TemplateError (translation data {"one"=>"less than a minute", "other"=>"less than {{count}} minutes"} can not be used with :count => 1) on line #5 of app/views/posts/_post.html.erb:
2:   <header>
3:     <div class='preheader'>
4:       <time datetime="<%= datetime_format(post.publish_date) %>">
5:         <%= friendly_publish_date(post) %>
6:       </time>
7:       <h6>
8:         posted by Matt Briggs

    /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/gems/1.8/gems/i18n-0.2.0/lib/i18n/backend/simple.rb:149:in `pluralize'
    /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/gems/1.8/gems/i18n-0.2.0/lib/i18n/backend/simple.rb:35:in `translate'
    /opt/ruby-enterprise-1.8.6-20090610/lib/ruby/gems/1.8/gems/i18n-0.2.0/lib/i18n.rb:195:in `t'
    app/helpers/posts_helper.rb:17:in `friendly_publish_date'
    app/views/posts/_post.html.erb:5
    app/views/posts/index.html.erb:22
    app/views/posts/index.html.erb:19:in `each'
    app/views/posts/index.html.erb:19
    app/controllers/posts_controller.rb:9:in `index'
    passenger (2.2.8) lib/phusion_passenger/rack/request_handler.rb:92:in `process_request'
    passenger (2.2.8) lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
    passenger (2.2.8) lib/phusion_passenger/railz/application_spawner.rb:385:in`start_request_handler'
    passenger (2.2.8) lib/phusion_passenger/railz/application_spawner.rb:343:in`handle_spawn_application'
    passenger (2.2.8) lib/phusion_passenger/utils.rb:184:in `safe_fork'
    passenger (2.2.8) lib/phusion_passenger/railz/application_spawner.rb:341:in`handle_spawn_application'
    passenger (2.2.8) lib/phusion_passenger/abstract_server.rb:352:in `__send__'
    passenger (2.2.8) lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
    passenger (2.2.8) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
    passenger (2.2.8) lib/phusion_passenger/abstract_server.rb:163:in `start'
    passenger (2.2.8) lib/phusion_passenger/railz/application_spawner.rb:209:in`start'
    passenger (2.2.8) lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application'
    passenger (2.2.8) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
    passenger (2.2.8) lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application'
    passenger (2.2.8) lib/phusion_passenger/abstract_server_collection.rb:80:in`synchronize'
    passenger (2.2.8) lib/phusion_passenger/abstract_server_collection.rb:79:in`synchronize'
    passenger (2.2.8) lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application'
    passenger (2.2.8) lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application'
    passenger (2.2.8) lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application'
    passenger (2.2.8) lib/phusion_passenger/abstract_server.rb:352:in `__send__'

    passenger (2.2.8) lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
    passenger (2.2.8) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'

Rendering /home/mattcode/mattcode.net/public/500.html (500 Internal Server Error)
EN

回答 2

Stack Overflow用户

发布于 2010-01-08 07:56:58

例如,也许你搞砸了,就像这样:

代码语言:javascript
复制
  activerecord:
    models:
      account:
        attributes:
          email:
            one: "1 email"
            other: "{{count}} emails"

而不是:

代码语言:javascript
复制
  activerecord:
    attributes:
      account:
        email:
          one: "1 email"
          other: "{{count}} emails"

是的,当我发现我的错误时,我对这两个人都很生气。应该有更好的文档记录

来源:http://groups.google.com/group/rails-i18n/browse_thread/thread/0a0d0cfcad63ff4f/9eb3c2dd98d19407?lnk=raot

票数 5
EN

Stack Overflow用户

发布于 2010-01-06 04:56:30

您的区域设置文件可能会被弄乱。您可能需要根据http://gist.github.com/rails/rails/blob/master/actionpack/lib/action_view/locale/en.yml仔细检查config/locale/en.yml

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1986264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档