我有下面的路由,它不是嵌套的,也不是命名空间的——它是根路由。
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
但没有改变。我错过了什么?
更新:
服务器重新启动,这有效。路由缓存是吧?