所以我在go模板中进行了以下等式测试
{{if eq .user.Role "Manager" "Admin"}}
应根据docs和1.2 release notes工作,但我没有运气
为了使它更清楚.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
答案 0 :(得分:1)
好的,所以最终的解决方案是取消注释revel在template.go中的eq实现。
答案 1 :(得分:0)
http://golang.org/src/pkg/text/template/exec_test.go#L71
您需要导出user
(User
)才能使其可访问。
答案 2 :(得分:0)
我可以想到两种可能性。您是不是在版本1.2(go version
给出了什么?)或管道中的某个地方,eq
函数已替换在模板的FuncMap中。不幸的是,它没有出口,所以我想不出一个好方法来了解后者是否是这种情况。如果您还没有更换它,您使用的是修改管道的软件包吗?如果是这样,请尝试不带任何包的渲染,看看它是否有效。