gpt4 book ai didi

转到模板 : can't evaluate field X in type Y (X not part of Y but stuck in a {{range}} loop)

转载 作者:IT老高 更新时间:2023-10-28 13:06:48 37 4
gpt4 key购买 nike

Similar question answered here ,但我认为它不能解决我的问题。

假设你有以下结构:

type User struct {
Username string
Password []byte
Email string
...
}

此外,URL 具有如下结构:example.com/en/users,其中 "en" 是一个 URL 参数,它将被传递到模板中,例如这个:

renderer.HTML(w, http.StatusOK, "users/index", map[string]interface{}{
"lang": chi.URLParam(r, "lang"),
"users": users})

在 HTML 模板中,我有以下内容:

{{ range .users }}
<form action="/{{ .lang }}/users" method="POST">
<input type="text" name="Username" value="{{ .Username }}">
<input type="text" name="Email" value="{{ .Email }}">
</form>
{{ end }}

现在,问题是因为 {{ .lang }} 不是 User 结构的一部分,所以我得到了错误..所以我该如何访问{{ .lang }}{{ range .users }}?

最佳答案

点(.)的内容在range调用后赋值给$,所以可以使用$ 访问 lang ( on play ):

{{ range .users }}
<form action="/{{ $.lang }}/users" method="POST">
<input type="text" name="Username" value="{{ .Username }}">
<input type="text" name="Email" value="{{ .Email }}">
</form>
{{ end }}

该行为已记录 here :

When execution begins, $ is set to the data argument passed to Execute, that is, to the starting value of dot.

如果您使用嵌套范围,您总是可以使用 with 语句或变量赋值语句将点赋值给其他对象。见 the other answer为此。

关于转到模板 : can't evaluate field X in type Y (X not part of Y but stuck in a {{range}} loop),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43263280/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com