Ruby on Rails-虾&虾错误
在 ruby on Rails 应用程序 prawn 中,prawnto 用于生成 pdf 会引发一些错误。generate_report.pdf.prawn
def generate_report
generate_report = params[:report_type]
# puts(generate_report)
if generate_report == "1"
# get count of all successful downloads
@total_downloads=StatisticDownload.where("DownloadSuccess=?","1").count
#puts(@total_downloads)
# get all downloads grouped by date
@downloads = StatisticDownload.select("date(Date) as downloaded_date, count(id) as count").where("DownloadSuccess=?","1").group("date(Date)")
respond_to do |format|
format.pdf { render :layout => false }
end
end
/admin/generate_report中的代码
pdf.move_down(30)
book = @downloads.map do |item|
[
item.downloaded_date,
item.count
]
end
pdf.table book, :border_style => :grid,
:row_colors => ["FFFFFF", "DDDDDD"],
:headers => ["downloaded_date", "count"],
:align => { 0 => :left, 1 => :right, 2 => :right, 3 => :right }
给出了一个空白页作为输出
/admin/generate_report.pdf 给出了一个错误,
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.map
Extracted source (around line #2):
1: pdf.move_down(30)
2: book = @downloads.map do |item|
3: [
4: item.downloaded_date,
5: item.count
我该如何纠正这个错误错误
In a ruby on rails application prawn ,prawnto is used to generate pdf raises some error..
def generate_report
generate_report = params[:report_type]
# puts(generate_report)
if generate_report == "1"
# get count of all successful downloads
@total_downloads=StatisticDownload.where("DownloadSuccess=?","1").count
#puts(@total_downloads)
# get all downloads grouped by date
@downloads = StatisticDownload.select("date(Date) as downloaded_date, count(id) as count").where("DownloadSuccess=?","1").group("date(Date)")
respond_to do |format|
format.pdf { render :layout => false }
end
end
Code in generate_report.pdf.prawn
pdf.move_down(30)
book = @downloads.map do |item|
[
item.downloaded_date,
item.count
]
end
pdf.table book, :border_style => :grid,
:row_colors => ["FFFFFF", "DDDDDD"],
:headers => ["downloaded_date", "count"],
:align => { 0 => :left, 1 => :right, 2 => :right, 3 => :right }
/admin/generate_report gives a blank page as output
/admin/generate_report.pdf gives an error
You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.map
Extracted source (around line #2):
1: pdf.move_down(30)
2: book = @downloads.map do |item|
3: [
4: item.downloaded_date,
5: item.count
how can i rectify this error
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
可能值得去 http://railscasts.com/episodes/153-pdfs- with-prawn-revised 并按照教程进行操作,如果您还没有订阅专业版,则必须订阅才能观看。
May be worth going to http://railscasts.com/episodes/153-pdfs-with-prawn-revised and following the tutorial, you will have to subscribe to watch if you haven't got a pro subscription though.