Tu ne peux passer des paramètres à link_to que côté-serveur, or la selection
se fait côté client.

Donc 2 solutions : soit tu fais un form et un petit peut de JavaScript pour
régir à la sélection d'un élément de la liste, soit tu fais pas de form et
un peu plus de JavaScript pour réagir à la sélection de la liste *et* faire
ton call.

Maintenant, si la 2° solution te plait (moi elle me plait) voilà comment je
procèderais pour garder les avantages du link_to et de la route générée par
Rails :
Au lieu de faire ton formulaire comme ça :

...
<select id="liste_deroulante">
<% foreach item in list -%>
  <option value="<%= item.id %>"><% item.name %></option>
<% end -%>
</select>
...

Je ferais :

...
<select id="liste_deroulante">
<% foreach item in list -%>
  <option value="<%= link_to item %>"><% item.name %></option>
<% end -%>
</select>
<script>
$('liste_deroulante').observe('change', function(event) {
  document.location.href = $F(event.element());
  event.stop();
});
</script>
...

Décryptage : tu mets dans la value des options de ton select les liens
entiers, puis tu fais surveiller un changement de valeur du select pour
envoyer le navigateur client à l'adresse de l'élément sélectionné.

L'autre solution marcherait aussi, mais elle me semble plus compliquée (par
contre elle pourrait avoir l'avantage de marcher même si le javascript est
désactivé ; en admettant que des gens désactivent encore leur JavaScript).

-- 
Michel Belleville

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à