Ruby on rails 当任何记录都不存在时,如何重定向到404页?

Ruby on rails 当任何记录都不存在时,如何重定向到404页?,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我有学生和老师的榜样。如果我访问了数据库中不存在的学生或教师配置文件,它将作为ActiveRecord::RecordNotFound引发 我在应用程序控制器中尝试了这一点,但仍然收到一条错误消息ActiveRecord::RecordNotFound,而不是404页 class ApplicationController < ActionController::Base rescue_from ActiveRecord::RecordNotFound, with: :render_4

我有学生和老师的榜样。如果我访问了数据库中不存在的学生或教师配置文件,它将作为ActiveRecord::RecordNotFound引发

我在应用程序控制器中尝试了这一点,但仍然收到一条错误消息ActiveRecord::RecordNotFound,而不是404页

class ApplicationController < ActionController::Base
  rescue_from ActiveRecord::RecordNotFound, with: :render_404
end
class ApplicationController
那么,有解决办法吗

谢谢。

试试这个:)

class ApplicationController
在.htaccess文件中编写以下代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^apt_adm - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
</IfModule>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ error.php [L]

重新启动发动机
重写规则^apt_adm-[L]
重写cond%{REQUEST_FILENAME}-F
重写规则^([^\.]+)$$1.php[NC,L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$error.php[L]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^apt_adm - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
</IfModule>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ error.php [L]