Редактировать: Итак, я усвоил урок о проверке строковых констант сегодня. Решением было заменить «фильтр» на «фильтры» в шаблоне.
Я пытаюсь создать простое окно поиска с 4 флажками для применения некоторых фильтров. Проблема заключается в том, что флажки никогда не возвращают true, даже если установлен флажок в режиме разработки.
Я определил свою форму следующим образом, где Filters
- это оболочка класса case, содержащая 4 bools:
val searchBox = Form(
tuple("search" -> nonEmptyText,
"filters" -> mapping(
"filterpublic" -> boolean,
"filterprivate" -> boolean,
"filterstream" -> boolean,
"filterdownload" -> boolean
) (Filters.apply) (Filters.unapply)
)
)
Мой html-шаблон определен так:
@form(action = routes.Application.getResults, 'id -> "searchBox") {
<fieldset>
<legend>Searchbox</legend>
@inputText(field = searchBox("search"), args = '_label -> "search",
'placeholder -> "Type here!")
@checkbox(field = searchBox("filter.filterpublic"), args =
'_label -> None, '_text -> "public")
@checkbox(field = searchBox("filter.filterprivate"), args =
'_label -> None, '_text -> "private")
@checkbox(field = searchBox("filter.filterstream"), args =
'_label -> None, '_text -> "streamable")
@checkbox(field = searchBox("filter.filterdownload"), args =
'_label -> None, '_text -> "downloadable")
<input type="submit" id="submit">
</fieldset>
}
Я полностью озадачен тем, из чего это может исходить. Я консультировался с учебниками по пьесе! веб-сайт, но не смог найти ничего, что решило бы эту конкретную проблему.