当我以管理员身份登录时,仅我可以访问我的部分应用程序。
在documents#new
和documents#edit
中,我以一种形式使用<textarea>
,用于使用HAML编写和编辑结构化文本。
我通过以下方式在documents#show
和documents#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/