通过widgetFile在Julius中进行Yesod路径插值

问题描述 投票:3回答:1

我认为@{SomeRouteR}应该可以在.julius文件中工作,如下所述:

https://www.yesodweb.com/book/shakespearean-templates#shakespearean-templates_julius_javascript

当我第一次在处理程序中执行此操作时,一切都在工作:

toWidget [julius|   
                        $("#examplespan").click(function(){                                                                               
                            $.ajax({                                                                                                      
                                url: @{ExampleR},                                                                                 
                                type: "POST",   
                                ...

                        |]

但是现在我已经更改了处理程序,使其像这样工作:

$(widgetFile "example")

我在example.julius中添加了此代码:

                        $("#examplespan").click(function(){                                                                               
                            $.ajax({                                                                                                      
                                url: @{ExampleR},                                                                                 
                                type: "POST",   
                                ...

我现在收到错误:

[Error#yesod-core] expected EUrl but got Nothing for: DerefIdent (Ident "ExampleR")
CallStack (from HasCallStack):
  error, called at ./Text/Shakespeare.hs:441:27 in shakespeare-2.0.20-3iMfZ8A5DXH3Twhu6IoWNc:Text.Shakespeare @(yesod-core-1.6.9-7g4SwkDmJJ261rdNBKrLzX:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:662:5)

我在做什么错?

yesod yesod-julius
1个回答
0
投票

这里可能没有任何问题。我将复制以前为我公司写的故障排除说明。


模板文件中的DerefBranch错误

© www.soinside.com 2019 - 2024. All rights reserved.