【发布时间】:2011-08-08 14:21:54
【问题描述】:
我在使用 i18n 时偶然发现了一个非常烦人的问题。
当使用<%= number_to_currency("100000000.123456") %>时
我正在屏幕上:
100{:separator=>",", :delimiter=>".", :raise=>true}000{:separator=>",", :delimiter=>".", :raise=>true}000 €
这里是我的语言环境 yml:
number:
currency:
format:
unit: "€"
precision: 0
separator: " "
delimiter: "."
format: "%n %u"
我使用的是 Rails 3.0.0rc,我现在已经升级到 3.0.9,问题仍然存在。
按照建议,我从语言环境文件中删除了格式:“%n %u”,但问题仍然存在。
我正在使用 i18n 0.5.0
希望你能帮忙
【问题讨论】:
-
如果您暂时从您的语言环境中删除数字格式选项,您是否还有同样的问题? (这可能有助于将其缩小到语言环境问题或 number_to_currency 的错误)。
-
删除数字格式无法解决。我仍然有问题。你认为我接下来应该尝试什么?与此同时,我确实升级到了 3.0.9,但我仍然遇到问题。我可以尝试降级 i18n。欢呼
-
我现在找到了解决方法。我将 actionpack 2.2.2 中的数字助手复制到我的 ApplicationHelper 中,并在它们前面加上 my_ 前缀,现在它可以工作了???我还在我的 gemfile 中添加了 gem actionpack, '~>3.0.9' 但这没有帮助......我对我的工作不满意,所以如果你知道我可能做错了什么,请告诉我.干杯。
-
1) 您的语言环境
.yml文件的名称是什么?相对于rails 应用程序根目录的路径是什么?我的意思是它在config/locales/还是在另一个文件夹中? 2)这正是您的yml文件的样子,因为您需要在顶部拥有语言命名空间? 3)从/config/application.rb你能复制所有包含这部分的未注释行::locale吗?你能对你正在尝试的环境配置文件做同样的事情吗(例如,如果你在开发中尝试从config/environments/development.rb复制那些) -
在字符串上调用
to_f有帮助吗?<%= number_to_currency("100000000.123456".to_f) %>
标签: ruby-on-rails internationalization