要映射到 rails 4 中的自定义路径的资源路由

Posted

技术标签:

【中文标题】要映射到 rails 4 中的自定义路径的资源路由【英文标题】:resource routes to be mapped to a custom path in rails 4 【发布时间】:2015-04-19 07:55:19 【问题描述】:

我有这样的路线:

resources :products

现在我的所有代码都已准备就绪,但只需要从 /products/:action to /items/:action 更改路径

我已经浏览了 rails 文档,但无法弄清楚这一点。它看起来很基本,应该很容易,但我就是不能指望它。

我使用的网址是:http://guides.rubyonrails.org/routing.html#path-and-url-helpers

【问题讨论】:

【参考方案1】:

你可以这样写你的路线:

resources :products, path: 'items'

这将使用ProductsController 生成带有product_* 命名助手的/items 路由。看看this part of the Routing Guides。

【讨论】:

【参考方案2】:

有几种方法可以实现这一点。一种是简单地将您的资源命名为items 并使用:controller 选项指定控制器。

resources :items, controller: 'products'

这将识别以/items 开头但路由到ProductsController 的传入路径。它还将根据资源名称(例如items_pathnew_item_path)生成路由助手。

另一种方法是在指定@dgiperez 指出的资源时使用:path 选项。

resources :products, path: 'items'

这还将路由以/items 开头的路径到ProductsController,但由于路由助手基于资源名称,它们将基于产品(例如products_path 和@ 987654334@)

Reference

【讨论】:

以上是关于要映射到 rails 4 中的自定义路径的资源路由的主要内容,如果未能解决你的问题,请参考以下文章

如何避免Rails 5嵌套资源命名空间路由中的双下划线

Rails自定义路由,如何删除?id =

Rails:路由到自定义控制器操作

如何限制 Rails 路由文件中的资源格式

6--Rails架构中的资源2

Rails 路由:将自定义路由添加到标准操作列表