我遇到了一个测试我的理智的问题。在我的Rails应用程序中,我从I18n翻译文件中加载一个转义的UTF-8字符串,用于我的应用程序路线。但是,在路由中使用导轨时不会避免使用字符串。这是我的翻译文件:Rails 3 Routes,Yaml&Escaping UTF-8
---
ru:
activerecord:
models:
item:
other: "\xD0\xA2\xD0\xBE\xD0\xB2\xD0\xB0\xD1\x80\xD1\x8B" # UTF-8 escaped version of "Товары". (to_yaml is doing the escaping btw)
这里导航到该路由时,是我的config/routes.rb中
match "/#{Item.model_name.human(:count => :other).downcase}" => "items#index"
不过,我得到:
Routing Error
No route matches "/%d0%a2%d0%be%d0%b2%d0%b0%d1%80%d1%8b"
如果UTF-8存储在翻译文件中,一切正常。 to_yaml正在逃避字符串并导致问题。有没有办法强制yaml保留原始字符串?
顺便说一句,我使用Rails 3.0.7,Ruby 1.9.2。多谢你们!
呀,耙路长相好的: ''''''''''''''''''''''''\向该网址发送请求。 – dhulihan 2011-06-10 19:22:04