내 Rails 뷰에서이 이상한 출력으로 난처한 상황에 처하게되었습니다. 내 모델은 다음과 같습니다.왜이 레일즈 뷰는 .each do 루프의 끝에서 원시 어레이 밖으로 뱉어 지나요?
class Comment < ActiveRecord::Base
belongs_to :post
end
다음은 내보기의 관련 부분입니다. 나는이 코드 블록에 문제를 격리시켰다. 특히 마지막 반복 후에 그리고 루프의 맨 마지막에서 어떤 일이 일어나더라도 <% end %>
. 각 반복에서 인쇄 된 실제 텍스트를 주석 처리하면 원시 배열이 여전히 인쇄됩니다.
주석 기 : 마이클
좋은 포스트
<h2>Comments</h2> <%= @post.comments.each do |comment| %> <p> <strong>Commenter:</strong> <%= comment.commenter %> </p> <p> <%= comment.body %> </p> <% end %>
여기 (. 샘플 의견/w) 이상한 출력됩니다.
주석 기 : 마이클
좋은 게시 할 수 있습니다.
주석 기 : 마이클
테스트합니다.
주석 기 존
배열은 여전히 재미 인쇄인가? 개발 로그를 읽는 방법
[#<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">]
마지막으로, 여기에있다. 그들은 모두 이렇게 보입니다.
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)
누가이 문제의 원인을 알고 있습니까? 이것이 PHP라면, 나는 코드 어딘가에 print_r을 놓고 갔을 것 같다. 그러나 그렇지 않습니다. 그런 식으로 아무것도하지 않았습니다.
감사합니다. 지금까지 그 기능을 이해하지 못했습니다. 유능한! – Michael
감사합니다. 똑같은 문제가있었습니다. – tpower
고마워, 나는 또한 똑같은 상황에 직면 해있다. – Adnan