Ruby on Rails使用route_translator gem路由转换

时间:2014-09-23 17:36:43

标签: ruby-on-rails ruby internationalization routes

我正在使用route_translator gem,当我运行rake routes时,它似乎工作正常。 这是输出的一部分:

travels_en    GET    /en/travels(.:format)  travels#index {:locale=>"en"}
travels_pt_br GET    /viagens(.:format)     travels#index {:locale=>"pt-BR"}

我可以访问pt-BR路由,但我的所有应用程序链接都会将我带到英语路线,我只使用rails方法。 我是否必须将new_travel_pathlink_to等路线方法更改为特定的?

1 个答案:

答案 0 :(得分:0)

您需要做的一件事是确保pt_br YML文件具有您想要显示的外部路由。例如,在pt_br YML文件中,您可以使用以下代码来匹配您的示例:

  routes:
    travels: viagens

点击 zh_ 后,您应该像以前一样看到/en/travels。点击 pt_br 后,您会看到/pt_br/viagens

要检查的另一件事是确保在config/routes.rb中您在以下声明中翻译了路线。

localized do
  whatever your routes are should appear here
end

这是我用我的英语和法语网站做的。