如何将rails route wildcard限制为1个目录?

时间:2013-09-02 08:09:58

标签: ruby-on-rails-3 routes wildcard rails-routing

我正在使用Rails 3.2.14和Ruby 1.9.3。我目前在routes.rb文件中有一个通配符路由:

match  "/*path/" => 'home#index'

这允许我在root之后添加任意数量的目录,它仍然会将我重定向到我的主页(例如myapp.com/a/b/c/d会将我带到myapp.com)。我想要做的是限制通配符只允许一个目录(例如myapp.com/a是有效的,应该带我到myapp.com但myapp.com/a/b应该发出错误)。我该如何实施呢?

1 个答案:

答案 0 :(得分:0)

用正则表达式解决它:

'match "/*path" => 'home#index', :path => %r([a-zA-z0-9]*)'