Rails 3.2无法识别带有可选参数的路由

时间:2014-02-02 20:09:17

标签: ruby-on-rails ruby-on-rails-3.2 routes rails-routing

我没有在路由中经常使用可选参数,这个问题让我感到困惑:我将以下路由定义为routes.rb中的第一条路径:

获取'/ employees / hours_summary(/:year /:month /:day(:/ prev_or_next))'=> 'employees#hours_summary',as :: employees_hours_summary

rake路线表示没问题:

employees_hours_summary GET /employees/hours_summary(/:year/:month/:day(:/prev_or_next))(.:format)员工#hours_summary

但这条路线失败了:
本地主机:3500 /雇员/ hours_summary / 2014/02/02 /下一步

路由错误:没有路由匹配[GET]“/ employees / hours_summary / 2014/02/02 / next”

虽然这个工作正常(省略末尾的“/ next”): 的本地主机:3500 /雇员/ hours_summary / 2014/02/02

我错过了一些非常明显的东西吗?此路由似乎与路由中Rails指南中给出的示例相匹配。

1 个答案:

答案 0 :(得分:0)

路线上有拼写错误。它应该是/:prev_or_next not:/ prev_or_next

get '/employees/hours_summary(/:year/:month/:day(/:prev_or_next))' => 'employees#hours_summary', as: :employees_hours_summary