如何在rails app上输入url时路由到404页面是错误的?

时间:2017-04-16 12:34:21

标签: ruby-on-rails

目前在我的rails应用中,如果有人输入错误的网址,则会将<{>>找不到页面设为闪存alert,如下所示。

的routes.rb

match '*path', to: redirect{ |p, req| req.flash[:alert] = "Page not found"; '/' }, via: :all

相反,我希望它直接转到 public / 404.html

中的404页面

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

最好不要在公共文件夹中使用404。

您可以在路线上添加:

match "/404" => "errors#error404", via: [ :get, :post, :patch, :delete ]

比在应用程序控制器中甚至更好地创建ErrorsController,添加render status: :not_found

还可以根据控制器添加自己的视图。

答案 1 :(得分:0)

如果您的消息/内容不是动态的,我建议您自定义当前的404.html页面(无需向您的路线添加match,导轨将默认重定向至public/404.html对于你的路线中找不到的任何网址。)

如果您确实需要自定义404页面,请使用@TiSer answer。