Nicolas Blanco wrote:
> Salut il est parfaitement normal que tu ne récupères dans tes paramètres
> que
> les id des checkbox cochées. En même temps c'est facile de faire un
> traitement, les clés qui n'existent pas n'ont pas été cochées...
> Je te conseille
> pour tester de faire volontairement "planter" ton action avec un fail
> pour visualiser le contenu des paramètres
> (méthode rapide) ou bien regarder dans ton log.
>
> Si tu crées tes checkbox dans ta vue avec un tag du style :
> <%= check_box_tag "member_expected[#{member.id}]" %>
>
> tu récupéreras dans params[:member_expected] un Hash où les clés
> (méthode
> keys) sont les ids de tous les membres sélectionnés.
>
> Cdt,
> Nicolas Blanco (Novelys).
>
> Le 27 juillet 2009 15:21, Fabien Jakimowicz <[email protected]> a
> écrit
> :
Après encore 2 bonnes heures de prise de tête ce matin, je dois avouer
que tu m'as sauvé la vie !!!!
Merci à tous pour vos réponses, cela m'a fortement aidé !
Je donne mon code (qui marche xD) au cas où cela pourrait aider de
prochains visiteurs dans la même galère que moi :
Vue :
<% form_for :presence, :url => {:action => "create_presence"} do%>
<table class="index">
<table width="100%" cellspacing="0px">
<thead>
<th>Entreprise</th>
<th>Qualité</th>
<th>Diffusion</th>
<th>Convoqué</th>
<th>Absent</th>
</thead>
<% for member in @current_project.project_permissions do %>
<tr class="<%= cycle('list-line-odd', 'list-line-even',:name
=> "row_class")%>">
<td class="handle"><%= member.company.name %></td>
<td class="handle"><%= member.job.name %> </td>
<td class="handle"><%=check_box "presence[#{member.id}]",
"broadcast"%></td>
<td class="handle"><%=check_box "presence[#{member.id}]",
"expected"%></td>
<td class="handle"><%=check_box "presence[#{member.id}]",
"absent"%></td>
</tr>
<%end%>
</table>
</table>
<br/>
<%= hidden_field_tag('report', "#[email protected]}") %>
<%= submit_tag "Envoyer" %>
<%end%>
Contrôleur :
def create_presence
@report = Report.find(params[:report])
params[:presence]
@current_project.project_permissions.each do |member|
@presence = Presence.new(params[:presence]["#{member.id}"])
@presence.report_id = @report.id
@presence.job_id = member.job.id
@presence.save
end
Bonne continuation à vous
Amicalement,
--
Posted via http://www.ruby-forum.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]
-~----------~----~----~----~------~----~------~--~---