1

管理者としてログインすると、アプリの一部に1人でアクセスできます。

documents#newdocuments#editには、HAML<textarea>を使用して構造化テキストを記述および編集するために使用するフォームがあります。

構造化テキストを次の場所に表示し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

もちろん、それをモデルレベルの検証に押し込む方法を見つけるのがさらに良いでしょう。

4

1 に答える 1

4

答えは:

-begin
  - engine = Haml::Engine.new(@document.content)
  = engine.render
- rescue => e
  = e.message
于 2013-02-01T03:32:18.257 に答える