내 레일 앱에서 CSV 파일을 다운로드 할 때 문제가 있습니다.레일이 빈 CSV 파일을 다운로드 중
먼저 컨트롤러는 다음과 같습니다.
def report
@report = SentMessage.where('user_id = ? AND created_at <= ? AND created_at >= ?', current_user.id, params[:before], params[:after]).order('created_at Desc')
respond_to do |format|
format.html
format.csv do
response.headers["Content-Type"] = "text/csv; charset=UTF-8; header=present"
response.headers["Content-Disposition"] = "attachment; filename=sent_messages.csv"
end
end
end
내 report.csv.erb 파일은 다음과 같습니다.
<%= provide(:title, "Sent Messages") %>
<div>
<div class="panel radius"> <h2 class="text_center">Sent Messages</h2></div>
<table class="table table-striped table-bordered table-hoverlarge-12 radius columns large-centered" id="sent_table">
<thead>
<tr>
<th>To</th>
<th>From</th>
<th>Message</th>
<th>Delivery Report</th>
<th>cost</th>
<th>Time</th>
</tr>
</thead>
<tbody>
<% @report.each do |message| %>
<tr>
<td><%= message.to %></td>
<td><%= message.from %></td>
<td><%= message.message %></td>
<td><%= message.delivery %></td>
<td><%= message.cost %></td>
<td><%= message.created_at.to_datetime.strftime("%b %d, %Y %I:%M%P") %></td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
내가 다운로드 링크를 클릭
은 다운로드 한 파일은 report.csv.erb 파일에서 쇼와 헤더 외에 단지 비어 있습니다. 무엇이 문제 일 수 있습니까?
'@ report'에 데이터가 있습니까? –
해결책이 아니라 관찰 내용 : CSV는 쉼표로 구분 된 값의 약자이지만 HTML을 여기에 쓰려고합니다. – zwippie
나는 단순히 메시지가 없다고 생각한다. 결과를 확인하려면 콘솔에서 쿼리를 실행하고 응답을 확인하십시오. – dennis