Similar question answered here, but I don't think it solves my problem.
Let's say you have the following struct:
type User struct {
Username string
Password []byte
Email string
...
}
Moreover, the URL hasa structure like this: example.com/en/users
, where "en"
is a URL param that will be passed into the template like this:
renderer.HTML(w, http.StatusOK, "users/index", map[string]interface{}{
"lang": chi.URLParam(r, "lang"),
"users": users})
And in the HTML template I have the following:
{{ range .users }}
<form action="/{{ .lang }}/users" method="POST">
<input type="text" name="Username" value="{{ .Username }}">
<input type="text" name="Email" value="{{ .Email }}">
</form>
{{ end }}
Now, the problem is that because {{ .lang }}
is not a part of the User
struct then I get the error.. so how can I access {{ .lang }}
inside {{ range .users }}
?
{{$lang := .lang}}{{range .users}} ...
. golang.org/pkg/text/template/#hdr-Variables – Briefcase