Haskell 手动渲染路线';s网址
我试图呈现一个包含链接的页面,该链接的href值为Haskell 手动渲染路线';s网址,haskell,yesod,Haskell,Yesod,我试图呈现一个包含链接的页面,该链接的href值为“javascript:#{mySmallJsSnippet}”,其中mySmallJsSnippet是一些javascript,它向当前页面添加了一个标记,带有src=”http://e.g.com/static/myFullJsFile.js“ 关于这一点,我有几个问题,但主要问题非常简单: 给定一个路由——例如,StaticR myFullJsFile_js——如何将路由的URL呈现为字符串,以便将其嵌入mySmallJsSnippet?基
“javascript:#{mySmallJsSnippet}”
,其中mySmallJsSnippet
是一些javascript,它向当前页面添加了一个
标记,带有src=”http://e.g.com/static/myFullJsFile.js“
关于这一点,我有几个问题,但主要问题非常简单:
给定一个路由——例如,StaticR myFullJsFile_js
——如何将路由的URL呈现为字符串,以便将其嵌入mySmallJsSnippet
?基本上,我不知道如何在我的处理程序代码中实现Yesod的模板呈现机制对每个@{fooBaR}
自动执行的功能
我怀疑这与renderRoute
和joinPath
有关,但我没有正确使用joinPath
。到目前为止,我最好的猜测是从Foundation.hs导入<代码> App<代码>,并将其作为<代码>联接路径< /代码>的第一个参数——No Go。< /P>
我会继续寻找,但如果能得到一些帮助,那就太好了,因为我相信这对于有YesSOD经验的人来说是很简单的东西。您可以从YesSOD.Handler
使用:
getUrlRender :: GHandler sub master (Route master -> Text)
在您的情况下,它将如下所示:
do render <- getUrlRender
let renderedUrl = render $ StaticR myFullJsFile_js
不要为你的第一次渲染不坏,所以回答:)正是我需要的。我很好奇——你说的“你不应该玩弄它”是什么意思?谢谢你的编辑。不过我还是不确定我是否理解。难道不能保证我输入Javascript代码片段的URL是该路径的正确URL吗?当然,这不同于说Javascript代码片段在其他方面是正确的;我知道这是没有保证的。