2016-10-29 3 views
0

부분적으로 작동합니다. 파일을 생성하지만 출력은 내가 원하는 방식이 아닙니다.레일스가 CSV 파일로 내보내기

는 컨트롤러

@messages = Message.take(2) 
    respond_to do |format| 
    format.html 
    format.csv { send_data @messages.to_csv } 
    end 

Message.rb

def self.to_csv 
    CSV.generate do |csv| 
      csv << Message.attribute_names 
      Message.all.each do |message| 
      csv << message.attributes.values 
      end 
    end 
end 

나는 다운로드 한 CSV 파일, 그것은 기록 자체를 포함 얻을하지만 열을 표시하지 않고

#<Message:0x007fca7a028338>,#<Message:0x007fca79a6bf58> 

값 메시지 속성은 다음과 같습니다.

ID,text 
1,hello 
2,world 

답변

1

Message.take(2)은 배열을 반환합니다. ActiveRecord :: Relation이 필요합니다.

시도 Message.limit(2)

관련 문제