Similar question answered here, nhưng tôi không nghĩ nó giải quyết được vấn đề của tôi.Tìm mẫu: không thể đánh giá trường X theo loại Y (X không phải là một phần của Y nhưng bị mắc kẹt trong vòng lặp {{range}})
Hãy nói rằng bạn có struct sau:
type User struct {
Username string
Password []byte
Email string
...
}
Hơn nữa, URL có một cấu trúc như thế này: example.com/en/users, trong đó "en" là một param URL sẽ được thông qua vào mẫu như thế này:
renderer.HTML(w, http.StatusOK, "users/index", map[string]interface{}{
"lang": chi.URLParam(r, "lang"),
"users": users})
Và trong mẫu HTML tôi đã điều sau đây:
{{ range .users }}
<form action="/{{ .lang }}/users" method="POST">
<input type="text" name="Username" value="{{ .Username }}">
<input type="text" name="Email" value="{{ .Email }}">
</form>
{{ end }}
Bây giờ, vấn đề là bởi vì {{.lang}} không phải là một phần của cấu trúc người dùng sau đó tôi nhận được lỗi .. vì vậy làm thế nào tôi có thể truy cập {{.lang}} bên trong {{range .users}}?
Bạn có thể khai báo VAR trong một mẫu Go '{{$ lang: = .lang}} {{phạm vi .users}} ... '. https://golang.org/pkg/text/template/#hdr-Variables – mkopriva