Dieser ist scheinbar einfach, aber es macht mich wahnsinnig.Go-Vorlagen: Sind verschachtelte Bereiche möglich?
Wie geht man in einem geschachtelten Bereich in Golang Templates über ein Strukturelement, das höher im Bereich liegt,?
Beispiel:
type Foo struct {
Id string
Name string
}
type Bar struct {
Id string
Name string
}
var foos []Foo
var bars []Bar
// logic to populate both foos and bars
In der Vorlage:
{{range .foos}}
<div>Foo {{.Name}}</div>
<div>
{{range ..bars}}
<div>Bar {{.Name}} <input type="text" name="ids_{{..Id}}_{{.Id}}" /></div>
{{end}}
</div>
{{end}}
Offensichtlich ..bars und ..Id nicht funktionieren, aber hoffentlich meine Absicht ist klar. Ich würde gerne alle Kombinationen von Foo und Bar durchlaufen und ein Formularelement mit einem Namen erzeugen, der sowohl von der Foo's Id als auch von der Bar's Id erstellt wurde.
Das Problem ist, dass es scheint, es ist unmöglich zu:
- Zugang Bars aus dem Inneren des Umfangs der foos reichen Umfang
- Zugang Foo Id aus dem Inneren des Bereichs Umfang der Bar
Ich habe einen vorübergehenden Workaround, indem ich eine Reihe redundanter Felder in beiden Strukturen platziere, aber das scheint mir sehr hässlich zu sein, verstößt gegen DRY und fühlt sich im Allgemeinen sehr falsch an.
Gibt es irgendeine Möglichkeit mit Golang-Vorlagen zu tun, was ich tun möchte?
zu verlassen, Dank dieser Ansatz funktioniert gut. – haploid