@SITihomirov
Art of gamedev

Как сравнить значения из разных моделей в Go?

В теге нужно по умолчантю достать значение по ProjectID и StatusID из моделей Project и Status соответсвенно.
При нынешнем варианте получаю ошибку :
ERROR   2023/02/06 19:41:54 template: update_note.page.tmpl:19:21: executing "main" at <$projectID>: can't give argument to non-function $projectID
goroutine 40 [running]:


Код шаблона :
{{template "base" .}}
 
{{define "title"}}Создать заметку{{end}}
 
{{define "main"}}
{{$projectID := .Note.ProjectID}}
{{$statusID := .Note.StatusID}}
    <h2>Новая заметка</h2>
    <form method="POST" action="update">
            <label>Заголовок</label><br>
            <input type="text" name="title" value="{{.Note.Title}}"></input><br><br>
            <label>Текст</label><br>
            <textarea  name="content">{{.Note.Content}}</textarea><br><br>
            <label>Срок</label><br>
            <input type="number" name="expires" value="{{.Note.Expires}}"></input><br><br>
             <label>Проект</label><br>
            <select name="project">
              {{range $key, $project :=  .Projects}}
                {{if $projectID eq $project.ID}}
                <option type = number selected value="{{$project.ID}}">{{$project.Title}}</option>
                {{else}}
                <option type = number value="{{$project.ID}}">{{$project.Title}}</option>
                {{end}}
                {{end}}
            </select><br><br>
             <label>Статус задачи</label><br>
            <select name="status">
            {{range $key, $status := .Statuses}}
                {{if $statusID eq $status.ID}}
                <option type = number selected value="{{$status.ID}}">{{$status.Title}}</option>
                {{else}}
                <option type = number value="{{$status.ID}}">{{$status.Title}}</option>
                {{end}}
            {{end}}
            </select><br><br>
            <input type="submit" value="Отправить" />
        </form>
{{end}
}
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
yellow79
@yellow79
Senior Software Engineer
Вы не правильно используете вызов функции eq
Вместо {{if $projectID eq $project.ID}}
Нужно писать {{if eq $projectID $project.ID}}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
А попробуй замени это
{{$projectID := .Note.ProjectID}}
на константу
{{$projectID := "00000011112222" }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы