我想要一个名为“ portal”的命名空间控制器。
其中将嵌套公司和产品等资源。
我想要类似的路线:/portal/:company_id/product/:id
上班
我可以得到/portal/company/:company_id/product/:id
可以工作,但想消除网址中的“公司”
希望是清楚的。请记住,我需要命名空间模块门户存在。
最佳答案
我认为您可以使用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"}
编辑:意外使用的资源,而不是资源。立即修复。