2017-05-26 59 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