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

时间:2015-02-18 10:38:53

标签: ruby-on-rails-4 custom-routes

我的路线如下:

resources :products

现在我的所有代码都已到位,但只需要更改/products/:action to /items/:action

的路径

我已经浏览了rails docs,但无法解决这个问题。它看起来很基本,应该很容易,但我不能把手指放在它上面。

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

2 个答案:

答案 0 :(得分:14)

您可以这样写下您的路线:

resources :products, path: 'items'

这将使用/items生成product_*ProductsController个名为帮助者的路由。看看this part of the Routing Guides

答案 1 :(得分:9)

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

resources :items, controller: 'products'

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

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

resources :products, path: 'items'

这也会将以/items开头的路径路由到ProductsController,但由于路由助手基于资源名称,因此它们将基于产品(例如{ {1}}和products_path

Reference