Estoy perplejo por esta salida extraña en mi vista de Rieles. Aquí está mi modelo:¿Por qué esta vista de rieles escupe una matriz en bruto al final de un bucle cada do?
class Comment < ActiveRecord::Base
belongs_to :post
end
Aquí está la parte relevante de mi vista. He aislado el problema en este bloque de código, específicamente, pase lo que pase después de la última iteración y antes del final del ciclo <% end %>
. Si hago un comentario sobre el texto real impreso en cada iteración, la matriz en bruto todavía se imprime.
<h2>Comments</h2>
<%= @post.comments.each do |comment| %>
<p>
<strong>Commenter:</strong>
<%= comment.commenter %>
</p>
<p>
<%= comment.body %>
</p>
<% end %>
Aquí está la extraña salida (w/muestra comentarios.):
Comentario: Michael
Buen post.
Comentario: Michael
Buen post.
Comentario: Michael
prueba.
Comentario: John
Es la matriz todavía la impresión divertida?
[#<Comment id: 1, commenter:
"Michael", body: "Good post.",
post_id: 1, created_at: "2011-01-12
03:51:20", updated_at: "2011-01-12
03:51:20">, #<Comment id: 2,
commenter: "Michael", body: "Good
post.", post_id: 1, created_at:
"2011-01-12 03:52:06", updated_at:
"2011-01-12 03:52:06">, #<Comment id:
3, commenter: "Michael", body:
"Test.", post_id: 1, created_at:
"2011-01-12 03:52:24", updated_at:
"2011-01-12 03:52:24">, #<Comment id:
4, commenter: "John", body: "Is the
array still printing funny?", post_id:
1, created_at: "2011-01-12 03:57:20",
updated_at: "2011-01-12 03:57:20">]
Por último, aquí es cómo está leyendo el log de desarrollo. Todos se ven así.
Started GET "/posts/1" for 127.0.0.1 at 2011-01-11 22:01:52 -0600
Processing by PostsController#show as HTML
Parameters: {"id"=>"1"}
[1m[36mPost Load (0.1ms)[0m [1mSELECT "posts".* FROM "posts" WHERE ("posts"."id" = 1) LIMIT 1[0m
[1m[35mComment Load (0.3ms)[0m SELECT "comments".* FROM "comments" WHERE ("comments".post_id = 1)
Rendered posts/show.html.erb within layouts/application (57.5ms)
Completed 200 OK in 73ms (Views: 61.1ms | ActiveRecord: 0.4ms)
¿Alguien sabe lo que está causando esto? Si esto fuera PHP, supongo que dejé print_r en algún lugar del código. Pero no lo es y no hice nada de eso.
Gracias. No entendí esa funcionalidad hasta ahora. ¡Útil! – Michael
Gracias, tenía exactamente el mismo problema. – tpower
Gracias, también me enfrento a la misma situación. – Adnan