带有更短网址的命名空间的rails控制器

时间:2013-12-15 01:00:22

标签: ruby-on-rails ruby

这是我的代码

  namespace :appname do
  resources :docs do
    collection do
      get 'contact'
      get 'how_it_works'
      get 'terms'
      get 'privacy'                  
    end
  end
  end

生成

/appname/docs/contact
/appname/docs/how_it_works
/appname/docs/privacy
/appname/docs/terms

但如何将它们作为

/docs/contact
/docs/how_it_works
/docs/privacy
/docs/terms

我的控制器代码

class Appname::DocsController < ApplicationController
  def how_it_works

  end

  def privacy

  end

  def contact

  end


  def terms

  end  
end

2 个答案:

答案 0 :(得分:4)

定义了如下路线

scope module: 'appname' do
  resources :docs do
    collection do
      get 'contact'
      get 'how_it_works'
      get 'terms'
      get 'privacy'                  
    end
  end
end

您可以从命名空间部分的rails路由指南中获取更多信息。 http://guides.ruby-china.org/routing.html

答案 1 :(得分:0)

删除外部namespace :appname ... end块。