преобразовать массив параметров из формы в строку - PullRequest
0 голосов
/ 17 октября 2010

У меня есть форма с флажками:

-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'

Пожалуйста, помогите

1 Ответ

0 голосов
/ 17 октября 2010

Это не должно быть проблемой, так как ?producers[]=4&producers[]=5 будет преобразован платформой в массив params[:producers] со значением [4, 5].
Таким образом, у вас уже есть массив, и вам даже не нужнопарсировать что угодно.

Но если вы действительно хотите передать два входных значения в одном параметре, вам придется использовать некоторый JavaScript.По умолчанию, если в html-форме есть два входа с одинаковым именем, будут отправлены два независимых значения (как в приведенном вами примере URL).
Таким образом, это не вопрос Rails, а вопрос html и javascript.*

...