ruby-on-rails - Rails 3 路由和命名空间

标签 ruby-on-rails ruby-on-rails-3 routing

我想要一个名为“portal”的命名空间 Controller 。

其中将嵌套资源,例如公司和产品。

我想要这样的路线:

/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"}

编辑:不小心使用了资源而不是资源。现在修好了。

关于ruby-on-rails - Rails 3 路由和命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5965732/

相关文章:

mysql - Rails 部署 : database and app out of sync

ruby-on-rails - 仅包含存在的 Assets

ruby-on-rails - 在 Rails 中重构 View 逻辑

flutter - 根路由和不同的initialRoute创建奇怪的WidgetTree

javascript - 在 Rails 中使用 AJAX 发出 DELETE 请求时,如何从表单获取不同的 id 值?

ruby-on-rails - 验证失败时重新加载回形针文件上传

ruby-on-rails-3 - 套件完成后 rSpec 销毁文件

mysql - Rails - 以 root 身份连接到 MySQL

routing - 如何在 RouterModule.forchild() 中使用 scrollPositionRestoration; ?如何使页面导航后始终在顶部滚动?

amazon-web-services - 使用 AWS SDK 通过 Direct Connect、VPC 和 VPC 终端节点从本地世界访问 AWS S3