Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4号轨道和路线图_Ruby On Rails_Ruby On Rails 4_Haml_Rails Routing_Rails I18n - Fatal编程技术网

Ruby on rails 4号轨道和路线图

Ruby on rails 4号轨道和路线图,ruby-on-rails,ruby-on-rails-4,haml,rails-routing,rails-i18n,Ruby On Rails,Ruby On Rails 4,Haml,Rails Routing,Rails I18n,我正在使用路由转换器gem来翻译我的路由,但我无法以我想要的方式来使用它 所以基本上我安装了gem并将路由插入到 localized do end 现在我有了这样的路线 users_en GET /en/users(.:format) users#index {:locale=>"en"} users_cs GET /cs/users(.:format)

我正在使用路由转换器gem来翻译我的路由,但我无法以我想要的方式来使用它

所以基本上我安装了gem并将路由插入到

    localized do
    end
现在我有了这样的路线

    users_en GET    /en/users(.:format)                               users#index {:locale=>"en"}
    users_cs GET    /cs/users(.:format)                               users#index {:locale=>"cs"}
    users_de GET    /de/users(.:format)                               users#index {:locale=>"de"}
在haml视图中,我使用link_导航到新页面。英语是我的默认语言,所以我的默认路径是user_path,但是如果我在一个不同语言的页面上,比如/cs/home,那么所有的翻译工作(t(“要翻译的单词”)中的文本工作,但是链接不会被翻译,如果我点击它,我会进入页面/users,而不是/cs/users

我怎样才能解决这个问题

我试图将区域设置放在变量名“users#{locale}\u path”中,然后将值提取出来,但我无法回答如何实现这一点(现在我只有一个字符串,我的链接看起来像/users\u cs\u path)

因此,我的问题是: 1.我做得不对吗? 2.如何在haml中创建一个字符串,如“users#{locale}path”,然后将其用作变量名以获得值,如:“#{users#{locale}path”}(是的,这不起作用)

在我的locale.rb中,我有

    # tell the I18n library where to find your translations
    I18n.load_path += Dir[Rails.root.join('lib', 'locale', '*.{rb,yml}')]

    # set default locale to something other than :en
    I18n.default_locale = :en
在我的路线上_translator.rb

    RouteTranslator.config do |config|
      config.force_locale = true
      #config.locale_param_key = :locale
      config.generate_unlocalized_routes = true
    end

谢谢。

尝试在
RouteTranslator.config
中添加此选项:

RouteTranslator.config do |config|
  config.generate_unnamed_unlocalized_routes = true
end

你是说该链接有不正确的、未本地化的url,还是其中有不正确的文本?该链接中的url未本地化。我在页面上,关于页面的链接url应该是,但它是。因为我有关于路径,但我应该在到t(“关于”)的链接中有关于路径,关于路径非常感谢!!!!这确实起到了作用。但是还有一个问题。我使用的是3.1.0版本(gem版本可用),而这个版本没有config.generate\u unnamed\u unlocalized\u路由。我只需要从github下载这个版本并添加它。