2009/7/27 Matthieu Humbrecht <[email protected]>
>
> Michel Belleville wrote:
> > Nommer tes checkbox avec la référence à l'id du membre comprise dans le
> > nom,
> > faire des pseudo-checkbox JavaScript (la checkbox devient un "switch"
> > pour
> > un élément <input type="hidden"> qui contient vraiment l'information),
> > ou
> > carrément une requête AJAX qui liste les checkbox et construit le
> > paramètre.
> > Perso je te recommande la première solution, elle est plus simple,
> > marche
> > même sans JavaScript, et se maintient beaucoup plus facilement.
> >
> > Le problème est simple, il vient du fait que les navigateurs ne sont
> > censés
> > envoyer que les checkbox cochées d'un formulaire (sisi).
> >
> > Michel Belleville
> >
> >
> > 2009/7/27 Matthieu Humbrecht <[email protected]>
>
> Merci pour cette réponse éclair ;)
> Mais je dois avouer que je suis dans le brouillard la.
> Etant encore un bon débutant (rails et le développement web en général),
> pourrais-tu éventuellement détailler ? :p
Une solution coté serveur serait de construire un hash de réponses. Tu
sais combien de réponses en checkbox tu attends, tu peux le faire
facilement, en modifiant légèrement le code de ta vue :
<td class="handle"><%= check_box_tag
"broadcast_#{member.id}[]"%></td>
Et côté controlleur, ca donnerait un truc comme :
reponses = {}
@current_project.project_permissions.each do |member|
reponses["broadcast_#{member.id}"] = (params["broadcast_#{member.id}"] == '1')
end
Je trouve cette approche plus simple quand on ne veut pas trop
manipuler de javascript et jouer avec le dom. Je te laisse le soin de
l'adapter aux autres cases ;)
--
http://fabien.jakimowicz.com
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---