我有一个主页和一个名为StaticPagescontroller
的控制器。
我使用了救援(如下所示),但页面上的错误显示这是一个坏主意,或者至少我是以错误的方式做到这一点。 主页上的任何问题触发了指向作为主页的root_page的救援,给了我一个阻止一切的无限循环,这是一个坏主意!
最佳做法是什么?
我应该如何处理主页上的rescue
?
我应该指向404页面吗?还有其他什么?
class StaticPagesController < ApplicationController
def home
@deals = Deal.featured.to_a
rescue
redirect_to authenticated_root_path
end
答案 0 :(得分:0)
发生错误时,我想先记录错误,然后重定向到404页面。
我就是这样做的。
class StaticPagesController < ApplicationController
def home
@deals = Deal.featured.to_a
rescue => error
handle_error(error)
end
end
现在我的ApplicationController看起来像这样
class ApplicationController < ActionController::Base
def handle_error(error)
Error.create(error)
format.html { render :file => "#{Rails.root}/public/404", :layout => false, :status => :not_found }
end
end
一件好事要知道公共目录中的文件在rails服务器启动之前呈现,因此它们仍然可以呈现。
我希望这有助于