Rails 5: опции select_tag для выбора с помощью gteq - PullRequest
0 голосов
/ 25 октября 2018

В настоящее время я пытаюсь отобразить параметры: wine_type с wine_type_gteq на моем домашнем экране.

Проблема, с которой я сталкиваюсь, заключается в том, что wine_type_gteq не принимается.

<div class="s003">
    <%= form_tag search_path, method: :get do %>
      <div class="inner-form">
    <div class="input-field first-wrap">
     <%= select_tag :wine_type_gteq, [["Grauburgunder", "Grauburgunder"]], prompt: "Select..." %>
    </div>
        <div class="input-field second-wrap">
          <%= text_field_tag :search, params[:search], placeholder: "Wein...", class: "form-control", id: "autolocation" %>
        </div>
        <div class="input-field third-wrap">
          <button class="btn-search">
            <%= submit_tag "Suchen", style: "color:white" %>
          </button>
        </div>
      </div>
      <% end %>
    </form>
  </div>
</div>

Rails выдает ошибку и говорит, что не может преобразовать массив в строку, поэтому я изменил строку на:

<%= select_tag.to_s :wine_type_gteq, [["Grauburgunder", "Grauburgunder"]], prompt: "Select..." %>

Теперь он конвертирует массив в строку, но я все еще получаю ошибку ActionView.

1 Ответ

0 голосов
/ 25 октября 2018

Проблема этой строки:

<%= select_tag :wine_type_gteq, [["Grauburgunder", "Grauburgunder"]], prompt: "Select..." %>

в опциях для вашего тега select.Пожалуйста, проверьте примеров , как можно использовать этот помощник.Массив опций не принимается как второй аргумент select_tag.Вы можете написать параметры в необработанном HTML, но удобнее использовать метод options_for_select, который генерирует эти параметры в формате HTML.

Кроме того, значения и тексты в списке параметров кажутся одинаковыми, поэтому его можноупрощенный.

Правильный тег:

<%= select_tag :wine_type_gteq, options_for_select(["Grauburgunder"]), prompt: "Select..." %>
...