自定义rails路由不使用:id列

时间:2013-03-14 08:40:23

标签: ruby-on-rails routes

我正在尝试创建一个自定义rails路由,允许我根据url显示信息。例如,我的产品位于包含category_idcountry源字段的数据库中。我希望能够输入类似/products/(category_id)/canada之类的内容来列出与该类别和国家匹配的项目,但我的尝试(显然)不成功。

到目前为止,我已经尝试了

match 'products/:category_id/:country', to: "products#var_show"

并且没有运气。

我甚至只是尝试通过串行代码制作显示产品的路线,但是轨道似乎认为我正在寻找id,即使我已经在路线和控制器中指定了字段。 / p>

match 'products/:serial', to: "products#show"

有人可以引导我朝着正确的方向前进并向我展示我做错了什么吗?感谢。

修改

Rails似乎生成参数:id,无论我在路由和控制器中调用它

Processing by ProductsController#show as HTML
Parameters: {"id"=>"481598745"}

理想情况下,在我询问的第二个案例中,这将是Parameters : {"serial" => "481598745"}

1 个答案:

答案 0 :(得分:0)

试试这个,

match 'products/:category_id/:country' => 'products#show',:as => :show