Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 手动渲染路线';s网址_Haskell_Yesod - Fatal编程技术网

Haskell 手动渲染路线';s网址

Haskell 手动渲染路线';s网址,haskell,yesod,Haskell,Yesod,我试图呈现一个包含链接的页面,该链接的href值为“javascript:#{mySmallJsSnippet}”,其中mySmallJsSnippet是一些javascript,它向当前页面添加了一个标记,带有src=”http://e.g.com/static/myFullJsFile.js“ 关于这一点,我有几个问题,但主要问题非常简单: 给定一个路由——例如,StaticR myFullJsFile_js——如何将路由的URL呈现为字符串,以便将其嵌入mySmallJsSnippet?基

我试图呈现一个包含链接的页面,该链接的href值为
“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代码片段在其他方面是正确的;我知道这是没有保证的。