2010-10-17 12 views
0

J'ai un formulaire avec des cases à cocher:tableau de conversion des paramètres de la forme en chaîne

-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 

Lorsque j'envoie une requête, il envoie un params de hachage avec un tableau de producers.Link ressemble alors que:

'/pages/:page_id/filter?producers[]=4&producers[]=5' 

Et je veux le faire paraître que:

'/pages/:pages_id/filter?producers=4,5' 

S'il vous plaît aider

Répondre

0

Il ne devrait pas être un problème, puisque ?producers[]=4&producers[]=5 sera converti par le cadre en params[:producers] tableau avec la valeur [4, 5].
Ainsi, vous avez déjà un tableau et vous n'avez même pas besoin d'analyser quoi que ce soit.

Mais si vous voulez vraiment soumettre deux valeurs d'entrée dans un paramètre, vous devez utiliser du javascript. Par défaut, si vous avez sous la forme html deux entrées avec le même nom, deux valeurs indépendantes seront soumises (comme dans l'exemple d'URL que vous avez fourni).
Donc, ce n'est pas une question Rails, c'est une question html et javascript.

+0

Никит, с js это сделать легко) а вот без него. Хэш параметров никак нельзя вправить? _) –

+0

et всё) терь дошло) –