在我的Rails 3.2应用程序中,有一个属性为muscle_group和grade_level的练习模型。我定义了与动态段以下的路径,它在配置/ routes.rb中:如何在动态段中使用Rails 3路由
# config/routes.rb
match "/:muscle_group/grade-:grade_level/:id" => "exercises#show"
运行bundle exec rake routes
确认路线确实存在:
/:muscle_group/grade-:grade_level/:id(.:format) exercises#show
该数据库包含了练习
- ID = 5
- muscle_group =“abdomin:与记录人”
- grade_level = 1
然而,当我指出我的浏览器http://localhost:3000/abdominal/grade-1/5,我得到:
Routing Error
No route matches [GET] "/abdominal/grade-1/5"
Try running rake routes for more information on available routes.
如何我可以得到动态段这条路线上班?
此外,它似乎像这个其他职位是关于一个非常类似的事情.http://stackoverflow.com/questions/5326483/rails-3-resource-routing-without-an-id – jake 2012-02-10 05:15:36
我想这样,覆盖to_param返回'“#{muscle_group}/grade - #{grade_level} /#{id}”'。但是在这种情况下'config/routes.rb'中会发生什么? – evanrmurphy 2012-02-10 17:02:39