【问题标题】:when error occurs in application redirect to root当应用程序重定向到根目录中发生错误时
【发布时间】:2016-07-22 14:55:48
【问题描述】:

我正在使用 Rails 应用程序。当应用程序中的任何地方发生错误时,我需要它重定向相同的路径是根路径,例如未定义方法、未找到变量等错误。

如果有人做过类似的事情,请建议我如何进行。

【问题讨论】:

  • 你能显示发生错误的动作吗?
  • 我不知道这个概念。我是 Rails 的新手。直到现在我还没有开始编写代码。请建议我如何继续。
  • 不用担心,请通过此link 并阅读此link 以了解 Rails 入门。

标签: ruby-on-rails ruby


【解决方案1】:

如果您在控制器中使用了正确的继承,则可以使用如下内容:

class ApplicationController < ActionController::Base
  rescue_from(Exception) do |e|
    logger.error e
    redirect_to root_path
  end
end

注意:您需要让每个控制器都从 ApplicationController 继承才能使这项工作发挥作用

【讨论】:

  • 感谢您的回复.. 当我使用该代码“未定义方法`rescue_from'”时出现错误...
  • 您是否将该代码放入您的app/controllers/application_controller.rb 中?确保你继承自 ActionController::Base!
  • 是的,它继承自类 ApplicationController
  • 你用的是什么版本的rails?
  • 根据这段代码。 github.com/rails/rails/blob/4-2-stable/activesupport/lib/… 这应该在 4.2.5 中可用。你可以发布例外吗? (带回溯)
猜你喜欢
  • 1970-01-01
  • 2015-05-30
  • 2020-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-19
  • 2012-02-06
相关资源
最近更新 更多