Se notó algo raro con las plantillas de ir cuando trato de usar Funcs
y FuncMap
. funciona el siguiente código como se esperaba:función de plantilla Ir
buffer := bytes.NewBufferString("")
funcMap := template.FuncMap{
"label": strings.Title,
}
t, _ := template.New("alex").Funcs(funcMap).Parse("{{label \"alex\"}}")
t.Execute(buffer, "")
return string(buffer.Bytes()) //=> "Alex"
Pero cuando trato de poner la plantilla en un archivo, éste no funciona (Execute()
dice: "alex" is an incomplete or empty template
):
t, _ := template.New("alex").Funcs(funcMap).ParseFiles("template.html")
Con template.html:
{{label \"alex\"}}
Cualquier idea de por qué? ¿Es esto un error? ¿Hay formas más simples de usar métodos/funciones en las plantillas?
Primeras ideas son para comprobar errores de analizar y ejecutar. Su código anterior ignora ambos. – Sonia
Sí, había revisado Parse pero no Execute. Ejecutar dice: "" alex "es una plantilla incompleta o vacía" – Blacksad