Passage de hash via params

Bonjour a tous et merci pour votre aide,

J’ai un souci de gestion de hash,
je crée une variable @clickOn qui contien un hash avec un ID et un
boolean.
Lorsque je recupére cette variable dans ma vue pour la transmettre a une
autre methode, c’est-a-dire que je fait ceci :

:clickOn => @clickOn

Je crois bien qu’elle est transformé en tableau, car quand je fais ceci
dans mon controlleur :

@clickOn = Hash.new
@clickOn = params[:clickOn]

C’est un tableau que je récupère.
Comment precisé que c’est un Hash, ou alors, puis-je faire une variable
du genre :

&clickOn

Ainsi je n’ai plus besoin de la repassé via params, mais à ce moment la,
je ne sais pas si je peux la modifié depuis n’importe quel méthode.
Merci pour votre aide !

Jasmine

Bonjour Samuel (ou Jasmine ?),

Lorsque je recupére cette variable dans ma vue pour la transmettre a une
autre methode, c’est-a-dire que je fait ceci :

:clickOn => @clickOn

Tu fais ceci dans un link_to ? À quoi ressemble ton lien dans ce cas ?

Le problème semble venir de la façon dont tu envoie les paramètres à
ton action. Les paramètres ne peuvent être faits que de clefs =>
valeurs au format texte mais certains types de clefs sont transformées
automatiquement en Array ou Hash dans les params de Rails
(respectivement de la forme “bars[]=42” et “post[title]=Foo”).

Si tu réussis à passer à des paramètres de cette façon :
/controlleur/action?clickOn[42]=true&clickOn[30]=false
tu récupéreras dans ton action un params[:clickOn] qui vaudra :
{ “30” => “true”, “42” => “true” }.

Un “render :text => params.inspect” pourra t’aider dans ta tâche.

Cordialement,
Sunny

Merci beaucoup Sunny, en fait c’est la logique de mon code qui était
fausse dans tous les cas !
Je te remercie en tout cas de t’y etre intéressé !
Bonne journée
Jasmine