2013-12-15 49 views
0

這裏是我的代碼軌命名空間控制器,具有較短的網址

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 

回答

4

定義的路線如下

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

你可以從軌道命名空間中的部分路線導向更多信息。 http://guides.ruby-china.org/routing.html

0

刪除外部namespace :appname ... end塊。

+0

但它包含DocsController未初始化的常量,如果我刪除外部塊 – wwli

+0

啊,給定命名空間的控制器,你可以執行'scope module:'appname'do ... end'而不是命名空間塊。 – Danielle