管理者としてログインすると、アプリの一部に1人でアクセスできます。
documents#new
とdocuments#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
もちろん、それをモデルレベルの検証に押し込む方法を見つけるのがさらに良いでしょう。