Конвертировать массив параметров из формы в строку

StackOverflow https://stackoverflow.com/questions/3953966

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top