我在产品控制器中的代码索引方法:
def index
@products = Product.all
respond_to do |format|
format.html
format.pdf do
pdf = PDF::Writer.new
@products.each do |product|
pdf.text product.name
end
send_data pdf.render, :filename => 'products.pdf', :type => 'application/pdf', :disposition => 'inline'
end
end
end
并且在 environment.rb文件
require 'pdf/writer'
Mime::Type.register 'application/pdf', :pdf
在运行程序时,我收到错误
未定义的方法`each'代表“Pen”:String
答案 0 :(得分:1)
啊哈。根据{{3}},“PDF :: WRITER已于2010年4月15日中止。请使用它的精神继承人,PRAWN INSTEAD。”
我个人非常高兴使用prawn生成PDF文件。但是为了直接回答你的问题,我的猜测是你可能正在使用ruby 1.9.x,它稍微改变了String API,而PDF :: Writer则用于ruby 1.8.7。
答案 1 :(得分:0)
使用metaskills-pdf-writer gem。发生此错误是因为Ruby 1.8上的每个字符串方法在版本1.9中已更改。所以这不再适用于新版本的ruby。我提到的这个宝石将解决这个问题。