can't convert Array into String

The default ./config/environment.rb file in Rails 2.2.2 has the following suggestion for setting a value for the load_path of I18n:

 

config.i18n.load_path << Dir[File.join(RAILS_ROOT, 'my', 'locales', '*.{rb,yml}')] 
  config.i18n.default_locale = :"zh-CN" 

 

Using this syntax causes I18n to crash while loading the locale files. Exception is:

 


can't convert Array into String (TypeError)
 .../i18n-0.0.1/i18n/backend/simple.rb:176:in `extname'
 .../i18n-0.0.1/i18n/backend/simple.rb:176:in `load_file'
 .../i18n-0.0.1/i18n/backend/simple.rb:13:in `load_translations'
 .../i18n-0.0.1/i18n/backend/simple.rb:13:in `each'
 .../i18n-0.0.1/i18n/backend/simple.rb:13:in `load_translations'
 .../i18n-0.0.1/i18n/backend/simple.rb:79:in `init_translations'
 .../i18n-0.0.1/i18n/backend/simple.rb:94:in `lookup'
 .../i18n-0.0.1/i18n/backend/simple.rb:33:in `translate'
 .../i18n-0.0.1/i18n.rb:160:in `t'

 

This is caused by the call to '<<' instead of '=' or '+=', changing the suggestion to the following solves the problem:

 

config.i18n.load_path += Dir[File.join(RAILS_ROOT, 'my', 'locales', '*.{rb,yml}')] 
config.i18n.default_locale = :"en" 
reference:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值