如何在没有路线可用的情况下如何路由到页面?

时间:2013-08-19 19:05:58

标签: ruby-on-rails

我想创建一个带有后退按钮的简单页面,用于奇怪的情况,即用户输入的网址没有路由的页面。

例如,foo的路线是:

resources :foos, :except => [:index]

用户输入:

mysite.com/foos

我想显示一个页面,上面写着“此页面不存在”和后退按钮。

我在哪里放置html.erb文件以及如何在routes.rb中对其进行说明?

谢谢

4 个答案:

答案 0 :(得分:2)

在你的routes.rb结束时写:

match '*path', :controller => 'some_controller', :action => 'some_action'

match '*path' => 'some_controller#some_action'

来源:

  

rails handle 404 with url redirect

答案 1 :(得分:1)

在生产模式下,Rails应用程序的404.html文件夹中的/public将针对路由错误进行呈现,而不是显示错误消息。

答案 2 :(得分:1)

据我所知,您有两种方法可以做到这一点:

  1. 如果您想捕获(404,500 ..等等)的错误,请在ActionController中使用rescue_from。否则,如果您只想编辑默认错误页面,请在{Rails.root} / public
  2. 中编辑500.html和404.html文件

    示例: How to properly render custom 404 and 500 pages?

    2。Custom Error Page - Ruby on Rails

答案 3 :(得分:0)

如果在服务器中找不到客户端的请求,则会进行404重定向。要成本化404页面,只需在public / 404.html

中进行更改即可