2010-10-15 3 views
0

Dans l'application "Mon rail", certains postes utilisent des boucles imbriquées. En mode développement, après la fin de chaque boucle, les objets de publication sont déversés en texte brut en séquence. Donc, il ressemble à ceci: alt textinformations de débogage inutiles dans la vue Rails

C'est inutile et un peu désagréable. Quelles sont les causes de ce comportement et comment le désactiver? Edit: voici la boucle:

= @posts.each do |post| 
    .post 
    %p= post.text 
    .replies 
     = if post.children != 0 
     = link_to "#{post.children} replies", '#',:toggled=>'no',:id=>"parent#{post.id}",:class=>"viewreplies",:rel=>post.children 
     %a.reply{:href => '#',:id => "reply#{post.id}",:rel => "thread#{post.thread}",:toggled=>'no' } Reply 
    %form{:method=>:post, :action => '/create', :class => 'replyform' } 
    = token_tag 
    %div{:id=>"replies#{post.id}"} 

Répondre

4

Ce n'est pas le cas par défaut, vous le dumping des objets post là-dedans explicitement dans un endroit.

Ma conjecture est que vous avez = supplémentaire se connecter <% @posts.each do |post| %> (c'est-à-dire que vous utilisez <%= ... %>). each La méthode renvoie la collection elle-même (pour un chaînage possible, comme dans jquery) et il est inutile de l'imprimer.

Si vous avez une confusion au sujet de la différence,
<% .. %> signifie « exécuter cette »
<%= .. %> signifie « exécuter cette et imprimer la valeur de retour sur la page »

+0

bien, j'utilise haml. J'ai édité ma question pour inclure la boucle. – herpderp

+0

@herpderp Je n'utilise pas haml, mais je soupçonne que le signe '=' a la même signification que dans les rails. Essayé de l'enlever? En outre, [article wikipedia] (http://en.wikipedia.org/wiki/Haml) comporte un exemple «chacun» sans cela. –

+0

= est nécessaire en haml, il dénote code ruby. sans cela, il traite le code en texte brut. using - fonctionne aussi, mais cela ne résout pas mon problème. – herpderp

1

Au lieu d'utiliser le = @ utilisation post - @ post

Questions connexes