ruby-on-rails - 如何嵌入Haml的错误::Engine in a web page in production on Heroku

标签 ruby-on-rails security heroku error-handling haml

当我以管理员身份登录时,仅我可以访问我的部分应用程序。

documents#newdocuments#edit中,我以一种形式使用<textarea>,用于使用HAML编写和编辑结构化文本。

我通过以下方式在documents#showdocuments#print中显示结构化文本:

- engine = Haml::Engine.new(@document.content)
= engine.render

localhost:3000上,如果我在HAML中出错(例如缩进了错误的空格数),则会在浏览器中看到该错误。

在Heroku的生产环境中,出于安全原因禁用了此功能,这正是您想要的。

但是我仍然想在生产中看到这个特殊错误,因为它实际上只是我的文字输入错误,而不是我的应用程序漏洞。有什么方法可以将HAML呈现错误发送给浏览器?

我在想答案可能类似于以下内容,但我不确定是什么。
- begin
  - engine = Haml::Engine.new(@document.content)
  = engine.render
- rescue
  - return ##something??##
- end

当然更好的办法是找到一种方法将其 push 模型级验证。

最佳答案

答案是:

-begin
  - engine = Haml::Engine.new(@document.content)
  = engine.render
- rescue => e
  = e.message

关于ruby-on-rails - 如何嵌入Haml的错误::Engine in a web page in production on Heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14638587/

相关文章:

node.js - Heroku 上的 Socket.io 随机 H15 消息

ruby-on-rails - 在 Rails 中访问链接模型的属性

ruby-on-rails - 如何知道模型何时被 :dependent => :destroy in rails? 自动销毁

ruby-on-rails - 如何使用 Omniauth + capybara 测试 FB Connect?

security - 网站黑客-为什么总是可以做到?

php - 如何防止 PHP 中的 SQL 注入(inject)?

ruby-on-rails - cucumber 错误得到抑制(未完全显示)

mysql - MySQL有内置的转义功能吗?

java - 在 Heroku 上部署 Spring Boot 项目时出现问题

ruby-on-rails - 部署时未找到 websocket-driver