我们希望设定 custom 的 404 页面,因此在 config/routes.rb 的最后加了句:
match '*path' => 'home#construction'
这个是可以成功的,但是我们的网站还是用了 omniauth 用于做新浪的 oauth,在 oauth 的过程中,有一步是要跳转到'/auth/tsina'这个路径,这个路径没有出现在 routes.rb 中,是由 omniauth 在底层用 rack 处理的。如果 config/routes.rb 中没有match '*path' => 'home#construction'
这句,rails 在 routes 中找不到匹配'/auth/tsina'的路径后就会由 rack 处理,从而 omniauth 可以正常处理。但是加了 match '*path' => 'home#construction',所有路径都会被匹配到,所以访问'/auth/tsina'就会到'home#construction'去,oauth 无法正常运行。所以希望在 match '*path' => 'home#construction'前能够忽略掉'/auth/tsina',不匹配这个地址,然后把这个地址转移到 rack 处理。请问如何实现?