次のテンプレートがあります。
{{if . eq "login failed"}}
<span class="text-error">Incorrect username or password</span>
{{else if . eq "login success"}}
<span class="text-success">You have successfully logged in!</span>
{{end}}
テンプレートを実行するときに文字列を渡しています。
ただし、次のエラーが発生します。
executing "login.html" at <.>: can't give argument to non-function .
テンプレート内の文字列を比較するにはどうすればよいですか?
eq
is function 、演算子ではありません。 eq <x> <y>
という形式で呼び出されます(<x> eq <y>
ではありません)。
オペランドをeq
の両側から後ろに移動して、テンプレートを修正できます。
{{if eq . "login failed"}}
<span class="text-error">Incorrect username or password</span>
{{else if eq . "login success"}}
<span class="text-success">You have successfully logged in!</span>
{{end}}