Rails路由:嵌套在作用域中的命名空间

时间:2012-04-30 09:21:40

标签: ruby-on-rails namespaces scope url-routing

使用Rails 3.2,我在config / routes.rb

中有以下内容
scope "/:locale" do
    resource :users, :only => [:new, :create]

    namespace :admin do
        resources :specifications
    end
end

用户路由按预期工作,规范路由除索引外有效。通过GET调用“/ en / admin / specifications”,将返回以下错误:

No route matches {:action=>"show", :controller=>"admin/specifications", :locale=>#<Specification id: 1, name: "Check-in", created_at: "2012-04-28 12:10:29", updated_at: "2012-04-28 12:10:29">}

我做错了什么?

1 个答案:

答案 0 :(得分:4)

尝试在应用程序控制器中添加它:

def default_url_options(options={})
  {:locale => I18n.locale}
end

它对我有用,我建议你阅读I18n指南的各个部分,在哪里解释如何set the locale from the URL params

PS:欢迎使用StackOverflow;)