2012-11-28 65 views
7
match '/submit_expense/:id' => 'expenses#submit_expense', :as => 'submit_expense' 

如何將此命令指向我的:admin命名空間?我是否必須在名稱空間聲明中定義匹配項?Rails - 匹配命名空間控制器的路由

+2

http://guides.rubyonrails.org/routing。 html#controller-namespaces-and-routing – MrYoshiji

+1

我已經讀過,我想確定的是將自定義方法與命名空間進行匹配的正確方法,我已將匹配語句移動到了我的命名空間聲明中,並且它可以工作。但是,這是正確的方式? – Atari2600

+2

哦!好吧,我猜你必須把你的匹配聲明放入命名空間。 – MrYoshiji

回答

10

routes.rb這可能工作...

namespace :admin do 
    match '/submit_expense/:id' => 'expenses#submit_expense', :as => 'submit_expense' 
end 
+3

我很確定這會產生路徑:/ admin/submit_expense,而不僅僅是普通的舊/ submit_expense –

+0

@ ChrisO'Sullivan,你是對的,它的確如此。我正在尋找一種指向名稱空間控制器的方式,但不會影響路徑。 – cdpalmer

+0

如果你想引用一個名字空間控制器,那麼你可以使用'module:'admin'。在這裏找到更多http://guides.rubyonrails.org/routing.html –

18

你可以使用/當您使用的控制器生成,如:

match '/submit_expense/:id' => 'admin/expenses#submit_expense', :as => 'submit_expense' 
相關問題