1

我有一个 Redmine 2.1.2 服务器正在运行。在我尚未移植到 Rails-3 Rails 2 的应用程序中,我想创建 500.html 页面以具有用户可以就错误提出 Redmine 问题的表单,并使用Redmine API创建它。但是,我不确定如何从 500 页面实际“发送”API 调用,因为它是一个“平面”页面(即没有控制器、视图等)

是否可以在 Javascript 中执行此操作(似乎很危险)?或者我是否需要从 500 页面调用我的 Rails 控制器之一,并从控制器方法执行 API?我在互联网上浏览了一些关于这个主题的信息,但我很难找到任何具体的东西。

任何帮助,将不胜感激。

4

2 回答 2

1

您可以定义错误 500 页面来访问您的应用程序的特定操作,如此所述。

然后,在此操作中,您可以使用一些 gem 连接到 redmine api。一些示例可能是 Rest-client 或ApiClient

于 2012-11-19T19:32:13.603 回答
0

这有两个部分。首先是在显示 500 错误时,为时已晚。这里有一个关于处理动态错误页面的很好的stackoverflow答案——看看建议使用的答案rescue(不是接受的答案)。这意味着虽然发生了一些不好的事情,但 Rails 仍在运行,您可以执行代码。

然后,您可以根据需要收集信息以创建 RedMine 问题,并使用RestClient或其他工具轻松执行 REST 请求。

您可能还想考虑使用出色的ExceptionNotifier gem作为替代方案。如果您一遍又一遍地遇到相同的异常,您最终会遇到一堆 Redmine 问题(或者需要更复杂的管理来处理这个问题)。异常通知器在电子邮件中为您提供所需的一切(我会将其发送到邮件组),然后您可以输入一个更具建设性的 Redmine 问题。

于 2012-11-19T19:51:38.727 回答