3

我想匹配所有以 开头的 URL /company/,所以我有这条路线:

match '/*id' => 'high_voltage/pages#show', :constraints => { id: /^company\/.*/ }

但是约束没有做任何事情。URL/abc也匹配此路由并PagesController引发错误。

我应该如何指定这个?

我需要id参数包含company/在开头,所以请不要说只做路由match '/company/*id'。这将为控制器提供一个id没有company/.

更新:我确实在普通的 Ruby 中尝试了上面的正则表达式,它可以工作。我也试过没有 ^ 在公司前​​面(虽然我确实需要公司作为第一个词),但没有运气。

更新2:问题似乎出在通配符上,通配符路由是否适用于约束?当路线中有通配符时,我无法获得任何约束。

更新 3:原来这只是Ruby on Rails 中的一个错误

4

2 回答 2

2

如更新中所述,这是 Rails 中的一个错误。

于 2012-10-15T19:12:31.173 回答
-2

看起来像语法错误。尝试使用:constraints => {:id => /^company/.*/}

编辑:我只是假设 ruby​​ v 1.9.2

于 2012-10-11T20:28:46.347 回答