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]
-~----------~----~----~----~------~----~------~--~---

Répondre à