2015-06-28 7 views
5

У меня есть следующий шаблон:Сравнение строк в шаблонах

{{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 . 

Как сравнить строки в шаблоне?

ответ

11

eq is function, а не оператор; его следует использовать как eq <x> <y>, а не <x> eq <y>. Чтобы исправить это, вы должны сменить свой шаблон на следующее:

{{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}} 
+0

Вы спасли мой день, спасибо! – akmal