dwh*_*ite 5 routing ruby-on-rails
我正在尝试使用:collectionparam在我的RESTful路由中添加自定义路由,map.resources如下所示:
map.resources :products, :collection => { :tagged => :get }
Run Code Online (Sandbox Code Playgroud)
标记的操作采用:tag参数.我可以使用以下链接到URL路由:
tagged_products_path(:tag => tag.name).我的问题是它生成的URL:
/products/tagged?tag=electronic
Run Code Online (Sandbox Code Playgroud)
我希望标签位于URL而不是标签中,如下所示:
/products/tagged/electronic
Run Code Online (Sandbox Code Playgroud)
当然这可以通过一个单独的命名路由来完成,但我想知道我是否遗漏了一些东西,并且有一种方法可以使用:collection哈希来做到这一点.
在此先感谢您的帮助
-Damien
集合路由不支持这一点 - 您必须使用命名路由。
map.tagged_products '/products/tagged/:tag',
:controller => 'products', :action => 'tagged', :conditions => { :method => :get }
Run Code Online (Sandbox Code Playgroud)