私はこれを広範囲に検索しました(おそらく間違って検索しています)が、これに関する答えが見つからないようです。私の目的は、データベース内の一連のコメントを繰り返し処理し、情報をビューに出力することです。残念ながら、私の.each doブロックは機能していないようです。
モデル/コメント.rb
class Comment < ActiveRecord::Base
  attr_accessible :content, :photo_id, :user_id
  belongs_to :user
  belongs_to :photo
.
controllers/photos_controller.rb
def show
  @photos = Photo.all
  @photo = Photo.find(params[:id])
  @user_likes = user_likes(@photo.id)
  @comments = Comment.find_all_by_photo_id(@photo.id)
.
ビュー/写真/show.html.erb
  <% if !@comments.blank? %>
    <% @comments.each do |c| %>
      <%= link_to c.user.name, c.user_id %><br />
      <%= c.content %>
    <% end %>
  <% end %>
.
を使用する@comments.each do |c|, c.(anything)と、何も返されません。Railsコンソールでもこれを確認しました。しかし、@comments.first.contentまたは@comments.first.user.name私が探しているものを返します。コンテンツフィールドとユーザーフィールド.firstを返すことができるのに、何も返さないのはなぜですか?.each do |c|
Railsコンソールからの出力は次のとおりです。
1.9.3-p385 :072 > @comments.each do |c|
1.9.3-p385 :073 >     c.content
1.9.3-p385 :074?>   end
 => [#<Comment id: 1, user_id: 8, photo_id: 27, content: "lalala", created_at: "2013-04-09 15:36:22", updated_at: "2013-04-09 15:36:22">, #<Comment id: 2, user_id: 8, photo_id: 27, content: "abcd", created_at: "2013-04-09 15:42:00", updated_at: "2013-04-09 15:42:00">, #<Comment id: 3, user_id: 8, photo_id: 27, content: "abadsf", created_at: "2013-04-09 15:58:33", updated_at: "2013-04-09 15:58:33">, #<Comment id: 4, user_id: 8, photo_id: 27, content: "asdf", created_at: "2013-04-09 15:59:12", updated_at: "2013-04-09 15:59:12">] 
1.9.3-p385 :075 > @comments.first.content
 => "lalala"