我想要一个名为“ 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"}


编辑:意外使用的资源,而不是资源。立即修复。

07-24 09:43
查看更多