我有下面的路由,它不是嵌套的或名称空间 - 它是根路由。RoR:具有可选参数的路由使用查询字符串
get 'discover(/:genre)' => 'home#discover', as: :discover, :genre => /[a-zA-Z0-9-]+/i
工作正常。但调用与下面的路径给出了一个不正确的URL:
<%= link_to g, discover_path(:genre => g.slug) %>
给人
/discover?genre=house
,工作正常,但我想它作为/discover/house
。
尝试了许多:genre => g
的组合,但没有改变。我错过了什么?
更新:
服务器重新启动和工作原理。路线缓存吧?
你尝试'discover_path(g.slug)' – apneadiving