Конвертировать массив параметров из формы в строку
-
08-10-2019 - |
Вопрос
У меня есть форма с флажками:
-form_tag filter_path(@page.permalink), :method => 'get' do |f|
-ftype.producers.each do |producer|
=check_box_tag "producers[]", producer.id, false
=label_tag producer.title
%br
=submit_tag 'Сортувати', :name => nil
Когда я отправляю запрос, он отправляет хеш-параметры с массивом производителей. Затем выглядит так:
'/pages/:page_id/filter?producers[]=4&producers[]=5'
И я хочу сделать это выглядеть так:
'/pages/:pages_id/filter?producers=4,5'
Пожалуйста помоги
Решение
Это не должно быть проблемой, так как ?producers[]=4&producers[]=5
будет преобразован в рамках в params[:producers]
массив со значением [4, 5]
.
Таким образом, у вас уже есть массив, и вам даже не приходится чему-либо.
Но если вы действительно хотите представить два входных значения в одном параметре, вам нужно будет использовать какой-то JavaScript. По умолчанию, если у вас есть в HTML-образу двух входов с тем же именем, будут представлены два независимых значения (например, в приборе URL-адреса).
Итак, это не вопрос рельсов, это вопрос HTML и JavaScript.