3
(初心者の警告)次のエラーメッセージ、エラーのソースを取得する最も簡単な方法は何を考えるYesodエラーメッセージを効果的に読むには?
:私は、単純なスキャフォールドサイト(無DB)で働いている
08/Jul/2016:11:39:01 +0530 [Error#yesod-core] expected EPlain but got Nothing for: DerefBranch (DerefIdent (Ident "show")) (DerefString "abcdef") @(yesod_3MCr4WfhviiELXmo3fAaXL:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:625:5)
GET/
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Status: 500 Internal Server Error 0.054158s
Handler/Home.hs:38:11:
No instance for (Text.Julius.ToJavascript String)
arising from a use of ‘Text.Julius.toJavascript’
In the second argument of ‘(GHC.Base..)’, namely
‘Text.Julius.toJavascript’
In the second argument of ‘(GHC.Base..)’, namely
‘(Text.Julius.unJavascript GHC.Base.. Text.Julius.toJavascript)’
In the expression:
Text.Shakespeare.EPlain
GHC.Base..
(Text.Julius.unJavascript GHC.Base.. Text.Julius.toJavascript)
Build failure, pausing...
をし、意図的にhomepage.julius
と混乱しています。この特定の例では、私はエラーが何であるかを正確に知っていますが、エラーメッセージを見るだけでどのように知ることができますか?
あなたは正しいですか?それが私がやろうとしていたことです。しかし、私の質問は異なっています。エラーメッセージを見ると、エラーの原因となっているjulius/cassius/hamletテンプレートの正確な行をどのように知ることができますか? –
コンパイル時にテンプレートのhaskellスプライスをダンプするオプションがあります。しかし、それを超えて、エラーの原因はいつもあなたのコード内の行になります。これがテンプレートを個人的に使用しない理由です。 –
これは解決しませんが、テンプレートHaskellは、より有用なエラーメッセージを生成するためにラインプラグマを発行することができます。私はちょうどこのテンプレートシステムがそれで気にしないと思う。 – glguy