RoR:带有可选参数的路由使用查询字符串

时间:2013-08-16 12:54:07

标签: ruby-on-rails routes

我有以下路线,它没有嵌套或命名空间 - 它是根路线。

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的许多组合但没有变化。我错过了什么?

更新

服务器重启,这有效。路由缓存嗯?

1 个答案:

答案 0 :(得分:1)

尝试使用它

<%= link_to g, discover_path(g.slug) %>

由于