我想要一個名爲「門戶」的名稱空間控制器。Rails 3路由和名稱空間
在此將嵌套資源,如公司和產品。
我想喜歡路線:
/portal/:company_id/product/:id
工作
我能得到
/portal/company/:company_id/product/:id
工作,但想消除 '公司' 在URL
。希望清楚了。請記住,我需要命名空間模塊門戶存在。
我想要一個名爲「門戶」的名稱空間控制器。Rails 3路由和名稱空間
在此將嵌套資源,如公司和產品。
我想喜歡路線:
/portal/:company_id/product/:id
工作
我能得到
/portal/company/:company_id/product/:id
工作,但想消除 '公司' 在URL
。希望清楚了。請記住,我需要命名空間模塊門戶存在。
我想你可以使用scope
來實現你想要的。也許是這樣的:
namespace "portal" do
scope ":company_id" do
resources :products
end
end
,將產生以下途徑:
portal_products GET /portal/:company_id/products(.:format) {:action=>"index", :controller=>"portal/products"}
POST /portal/:company_id/products(.:format) {:action=>"create", :controller=>"portal/products"}
new_portal_product GET /portal/:company_id/products/new(.:format) {:action=>"new", :controller=>"portal/products"}
edit_portal_product GET /portal/:company_id/products/:id/edit(.:format) {:action=>"edit", :controller=>"portal/products"}
portal_product GET /portal/:company_id/products/:id(.:format) {:action=>"show", :controller=>"portal/products"}
PUT /portal/:company_id/products/:id(.:format) {:action=>"update", :controller=>"portal/products"}
DELETE /portal/:company_id/products/:id(.:format) {:action=>"destroy", :controller=>"portal/products"}
編輯:不小心使用的資源,而不是資源。現在修復。
完美!謝謝 – robzolkos 2011-05-11 22:29:33
您可以自定義的路由你想近一切,如果你直接拼出來,像這樣:
match '/portal/:company_id/product/:id', :to => 'companies_products#show'
的:to
部分指定控制器和動作的使用,你有什麼,應該匹配你的路線現在。如果你不確定那是什麼,rake routes
會告訴你它的具體解釋。
當您使用「匹配」時,有什麼問題? – apneadiving 2011-05-11 14:25:51