2014-01-22 3 views
1

Так что я следующий тест равенства в шаблоне идетМногостороннего тест равенства неудачи

{{if eq .user.Role "Manager" "Admin"}}

, который должен работать в соответствии с docs и 1.2 release notes, но я не имею никакой удачи

Чтобы сделать его более понятным .user.Role «Менеджер» будет работать или любой тест равенства, который включает только один аргумент. Так что что-то вроде {{if eq 1 1}} оценивает правильно, но {{if eq 1 2 1}} нет.

Ошибка я получаю 3: executing ".../index.html" at : wrong number of args for eq: want 2 got 3

ответ

0

Я могу представить себе две возможности. Либо вы не на версии 1.2 (что дает go version?), Либо где-то в пути функция eq была заменена в шаблоне FuncMap. К сожалению, он не экспортируется, поэтому я не могу придумать хороший способ узнать, соответствует ли это последнему. Если вы его не заменили, используете ли вы пакет, который изменяет конвейер? Если да, попробуйте рендеринг без каких-либо пакетов и посмотрите, работает ли он.

+0

Я уверен, что вы правы, с проектом ванили, который он оценивает отлично, но этот шаблон был оценен в моем проекте revel, так что, возможно, где-то в revel он заменяет экв. Продолжайте охоту на гусей. – TameBadger

1

Хорошо, поэтому окончательное решение заключалось в том, чтобы раскомментировать реализацию эквалайзера, которая есть у template.go.

+0

Спасибо, Tyson за то, что он вел меня по правильному пути – TameBadger

Смежные вопросы