我遇到了一個測試我的理智的問題。在我的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