多路相等测试失败

所以我在 go 模板中有以下相等性测试

{{if eq .user.Role "Manager" "Admin"}}

这应该根据文档和1.2 发行说明工作,但我没有任何运气

为了更清楚, .user.Role "Manager" 可以工作,或者任何只涉及一个参数的平等测试。所以类似的东西 {{if eq 1 1}}评估正确,但{{if eq 1 2 1}}没有。

我得到的错误是 3: executing ".../index.html" at : wrong number of args for eq: want 2 got 3


largeQ
浏览 210回答 3
3回答

子衿沉夜

我能想到两种可能。要么你不是 1.2 版(go version给出了什么?),要么在管道中的某个地方,该eq函数在模板的FuncMap 中被替换了。不幸的是,它没有导出,所以我想不出一个好方法来知道后者是否是这种情况。如果你没有更换它,你是否使用了修改管道的包?如果是这样,请尝试在没有任何包的情况下进行渲染,看看它是否有效。

莫回无

好的,所以最终的解决方案是取消注释 revel 在template.go 中的 eq 实现。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go