On 15 sep, 17:03, olfhen <[email protected]> wrote:
> ActionView::TemplateError (NaN) on line #29 of app/views/encounters/
> _table.html.erb:
>
> 26:
> 27:             <td><% if b1.class.to_s.eql?('Planet') %>&nbsp;</
> td><td><% end %>
> 28:
> 29:             <%= link_to b1.designation, b1 %>
> 30:
> 31:             <% if b1.class.to_s.eql?('Tno') %></td><td>&nbsp;<%
> end %>
> 32:             </td>
>
>     /usr/pkg/lib/ruby/1.8/date.rb:422:in `floor'
>     /usr/pkg/lib/ruby/1.8/date.rb:422:in `jd_to_civil'
>     /usr/pkg/lib/ruby/1.8/date.rb:1066:in `__18057__'
>     (eval):4:in `civil'
>     /usr/pkg/lib/ruby/1.8/date.rb:1081:in `year'
>     app/models/body.rb:40:in `designation'
>     app/models/body.rb:39:in `each'
>     app/models/body.rb:39:in `designation'
>     app/views/encounters/_table.html.erb:29
>     app/views/encounters/_table.html.erb:21:in `each'
>     app/views/encounters/_table.html.erb:21
>     app/views/encounters/index.html.erb:3
>     app/controllers/encounters_controller.rb:11:in `index'
>
> Les Encounters sont très nombreux (+ de 7000), et le rendu plante
> parfois dès le début, parfois plutôt
> vers la fin (je le vois aux "select bodies.* ..." qui sont fait dans
> la base)

Bonjour,

Je pencherai pour un problème de ressources / performances pour
plusieurs raisons :
  - l'aspect aléatoire
  - le "ActionView::TemplateError"
  - "self.attributes[...]" qui délègue en réalité à
"self.read_attribute(...)"
  - le fait qu'il y ait un has_many de has_many de 7000
résultats... :-)

Deux petites questions :
  - quelle version de Rails ?
  - lors d'un rendu, tes logs sont-ils polués par N fois le même type
de requête ?

Même si je me trompe, les points suivants ne feront pas de mal :
  - vérifier la relation entre Body et Encounters, on est bien au
final sur du 1-N ?
  - vérifier que tes "include" sont bien en place, ex :
      Body.all(:include => { :bodies_encounters => :encounters })
  - éviter "self.attributes"

Note : "b1.class.to_s.eql?('Planet')" peut s'écrire "b1.instance_of?
(Planet)" (voir aussi la méthode "is_a?")

Bon courage !

--
Julien Vignolles
--~--~---------~--~----~------------~-------~--~----~
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 à