Le 23 septembre 2008 15:14, Jean-François Trân <[EMAIL PROTECTED]> a
écrit :
>
> Le 23 septembre 2008 14:48, Nicolas G a écrit :
>
> > voici le code ;-)
>
> >> <%
> >> @agenda = Agenda.find(:all, :conditions =>["day = ?",
> >> dateencours.strftime("%Y-%m-%d") ], :order => ("hour asc") )
> >> %>
>
> ça doit aller dans le contrôleur et...
>
mais cette valeur est invoquée n fois dans la page en partant de dateencours
(le jour , le lendemain et le surlendemain)
>
> >> <h1>Le <%= dateencours.strftime("%d-%m-%Y") %></h1>
>
> utilise to_s(format) en modifiant Date::DATE_FORMATS
ok je vais voir comment faire .
>
>
> [...]
>
> >> <%
> >> h = 8
> >> m = 0
> >> %>
> >>
> >> <% until h > 20 %>
> >> <% until m > 45 %>
> >> <%
> >> if m == 0
> >> min = 0
> >> else
> >> min = nil
> >> end
> >> %>
>
> Tout ce qui précède, c'est très laid.
je m'en doutais ;-)
> Passe plutôt par un itérateur
> ou une collection à laquelle tu appelles each.
>
>
> Par exemple dans le helper tu définis #plages_horaires_each
> qui yielde les bonnes valeurs de hour et minute :
>
> plages_horaires_each do |hour, minute|
> ..
> end
>
> ou un @plages_horaires.each do...end
>
même si c'est plus élégant d'utiliser une collection ou un itérateur est-ce
plus efficace ?
J'avais lu qquechose selon laquelle l'utilisation d'helper était assez
gourmand en ressources
C'est vrai que cela serait bcp plus beau ;-)
Pareil entre un hash et un objet as t-on une idée sur les performances ?
> >> <% heurerdv = h.to_s + ":" + m.to_s + min.to_s %>
> >> <% for agenda in @agenda %>
>
> Donc tu parcours tes plages horaires et chaque fois tu parcours
> la collection @agenda. T'es donc en (la complexité des algorithmes,
> je fais ça à la louche) O(N x M), alors qu'en passant par mon histoire
> de hash tu devrais être en O(N) + O(M).
ok je vois le bénéfice ...
merci de tes conseils
je vais revoir tout ça
NG
>
>
> -- Jean-François.
>
> --
> ça dépend
> http://twitter.com/underflow_
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---