Ruby on rails i18n.locale现在是数组吗?

Ruby on rails i18n.locale现在是数组吗?,ruby-on-rails,ruby,arrays,internationalization,Ruby On Rails,Ruby,Arrays,Internationalization,我一直在通过调用区域设置上的_s将区域设置转换为字符串。例如,I18n.locale.to_s将返回se或de 但现在我注意到I18n.locale.to_s返回[“se”]或[“de”]。它们变成数组了吗?它看起来有点像一个数组的符号。奇怪,因为我在:[:se]上遇到语法错误 这发生在我将Debian升级到7,将ruby升级到1.9的时候。我的rails版本是3.2 有没有办法从区域设置中获取字符串“se”或类似内容?当然,不需要手动删除前两个和后两个字符,这显然是一种丑陋的做法 这很容易测试

我一直在通过调用区域设置上的_s将区域设置转换为字符串。例如,
I18n.locale.to_s
将返回
se
de

但现在我注意到I18n.locale.to_s返回
[“se”]
[“de”]
。它们变成数组了吗?它看起来有点像一个数组的符号。奇怪,因为我在
:[:se]
上遇到语法错误

这发生在我将Debian升级到7,将ruby升级到1.9的时候。我的rails版本是3.2

有没有办法从区域设置中获取字符串
“se”
或类似内容?当然,不需要手动删除前两个和后两个字符,这显然是一种丑陋的做法

这很容易测试

$ rails c
Loading development environment (Rails 4.0.0)
2.0.0p247 :001 > I18n.locale.class
 => Symbol

不,他们没有返回数组。这可能是你的应用程序上的一些问题。
irb(main):001:0>I18n.locale.to_s=>“en”
我刚刚用Ruby 1.9.2在Ubuntu13.04中进行了测试,我无法复制。
.class
返回什么?谢谢。这让我意识到问题其实不是I18n而是String.scan