Ruby on Rails - 错误路由的正则表达式

时间:2014-06-15 15:29:34

标签: ruby-on-rails

如何定义匹配任何排除字符串的路由(如'websocket')?

谢谢!

1 个答案:

答案 0 :(得分:1)

根据评论,听起来您希望将/websocket与特定操作相匹配,将其他所有操作与404错误页面匹配。

利用路由按照routes.rb中定义的顺序进行匹配这一事实,这是一个很好的方法:

match '/websocket' => 'controller#action'
match '/:slug' => "errors#show", :code => 404, :via => [:get]

当请求/string到来时,路由子系统将首先尝试将其与第一行匹配,如果string等于websocket则匹配成功且不再有路线将匹配。

另一方面,如果string不是websocket,那么它将匹配第二行。