Select et link_to


#1

Bonjour,

dans une vue, comment faire pour passer en paramètre à link_to un item
choisi dans un menu déroulant?

Il n’y a pas de “form” dans la page.

Merci de votre aide


#2

Merci pour ta réponse rapide et détaillée.
Je m’y remet ce soir et je vois ce que ça donne.


#3

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 :



<% foreach item in list -%>

<% item.name %> <% end -%> ...

Je ferais :



<% foreach item in list -%>

<% item.name %> <% end -%> ...

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


#4

En fait , je voudrais avoir


<%= link_to “LaSuite”, :param1 => foo, :param2 => bar, :selection =>
“LaValeurRécupéréeDuSelect” %>


#5

Bon courage, n’hésite pas à poser d’autres questions si tu bloque sur
autre
chose.


Michel B.


#6

Ca tu ne peux pas vraiment, ou alors ça va être très difficile. Le ruby
est
exécuté lorsque la page est générée, donc avant qu’elle soit envoyée Ã
l’utilisateur, donc avant que l’utilisateur ait choisi l’élément qu’il
veut
dans la liste select.


Michel B.


#7

Tant qu’il ne veut pas faire de formulaire…

Le 8 octobre 2008 08:13, Guillaume BELLEGUIC
removed_email_address@domain.invalida écrit :


Michel B.


#8

Michel B. wrote:

Tant qu’il ne veut pas faire de formulaire…

Va pour un formulaire alors…
LÃ , normalement, je sais faire.

Encore merci pour votre réactivité.


#9

bonjour,

tu peux faire un formulaire, avec un bouton étape suivante, tu envoie
donc le paramètre du select.
sinon toujours un formulaire un lien qui appel une fonction javascript
qui lit les valeurs à envoyer et envoie un formulaire (un peut comme
le destroy de rails).

Le 8 oct. 08 à 08:04, Michel B. a écrit :


#10

Effectivement c’est la solution qui me semble la plus simple, cohérente
et
élégante dans cette situation.


Michel B.