2017-05-26 56 views
1

的routes.rbRails 5.1:Globbing不起作用?

resources :posts 
get '/posts/*missing', to: 'posts#missing' 

/职位/ 1重定向到posts#show,但/职位/航空自卫队不重定向到posts#missing
通配符不在这里工作了。为什么? image 我正在使用Rails 5.1,在5.0上看到一个教程,使用完全相同的配置,并且globbing捕获了无效的ID。
我知道我可以使用rescue_from,但我想通过routes.rb来做到这一点,我该怎么做?

+1

您是否缺少路线中的单引号或其拼写错误? – Pavan

+0

向我们展示该教程。 –

回答

1

我正在使用Rails 5.1,在5.0上看到了一个教程,使用了完全相同的配置,并且globbing捕获了无效的ID。

我不认为这适用于早期版本的rails(当然不是5.0)。来自帖子资源的show路由匹配/posts/asdf路径,并尝试呈现Posts#show"asdf"作为id。这就是很久以来的情况。

+0

你是对的!将'get'路线放在'resources:posts'之上应该修复错误。不是吗? – Pavan

+0

@Pavan:不,那会影响演出路线:) –

+0

哦!我想通过颠倒顺序错误将被修复,因为Rails开始匹配从顶部的路线。 – Pavan