Как использовать check_box в форме таблицы, чтобы я мог получить доступ к атрибутам таблицы в массиве? - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть таблица внутри формы со следующим кодом:

<tbody>
        <% @appointments.each do |appointment| %>

            <td class="collapsing">
                <div class="ui fitted slider checkbox">
                <%= f.check_box appointment.id %><label></label>
                </div>
            </td>
            <td><%= appointment.name %></td>

        <% end %>
</tbody>

Таким образом, флажок генерируется, но если я выбираю несколько флажков, я получаю

Parameters: {"utf8"=>"✓", "authenticity_token"=>"qCo02PG1F2wrSK4sxCQiQLzuhG4vZypgd9p5LzP9Sp7uZQFHs8tTTitLR++VXVK3f68P0qih+iQBlZt9anG01Q==", "cleaner"=>{"4"=>"1", "5"=>"0", "2"=>"0", "3"=>"0", "6"=>"0"}, "commit"=>"Request", "cleaner_id"=>"1"}

Таким образом, чтобы получить доступ к встречам, я бы сделал parameters["cleaner"] и получил бы <ActionController::Parameters {"4"=>"1", "5"=>"1", "2"=>"0", "3"=>"0", "6"=>"0"} permitted: false>

Что я хотел бы сделать, это получить массив вместо ха sh.

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020

Полагаю, вам нужно использовать некоторые настройки для флажков, например:

<% @appointments.each do |appointment| %>
  <td class="collapsing">
    <div class="ui fitted slider checkbox">
      <%= check_box_tag "cleaner[appointment_ids][]", appointment.id %><label></label>
    </div>
  </td>
  <td><%= appointment.name %></td>
<% end %>

Таким образом, вы должны иметь что-то вроде params[cleaner][appointment_ids], чтобы получить выбранные встречи

0 голосов
/ 19 апреля 2020

Класс Ha sh предоставляет метод keys, который возвращает ключи га sh в виде массива. Итак, parameters["cleaner"].keys - это то, что вы (вероятно) ищете.

...