【发布时间】:2012-05-28 18:06:19
【问题描述】:
我正在关注本教程中的第一个示例:http://ruportbook.com/printable_documents.html,但是我一直在为 "":String 获取未定义的方法 `each',我使用此代码创建了一个新文件:
class MultiTableController < Ruport::Controller
stage :multi_table_report
class PDF < Ruport::Formatter::PDF
renders :pdf, :for => MultiTableController
build :multi_table_report do
data.each { |table| pad(10) { draw_table(table) } }
render_pdf
end
end
end
然后,在一个名为 workers_controller.rb 的现有控制器中,我有下一个操作:
def index_report
t1 = Table(%w[a b c]) << [1,2,3] << [4,5,6]
t2 = Table(%w[a b c]) << [7,8,9] << [10,11,12]
pdf = MultiTableController.render_pdf(:data => [t1,t2])
end
然后,我的浏览器出现了这个错误:
undefined method `each' for "1":String
我尝试了许多其他示例,但我得到了同样的错误。
一些帮助?
【问题讨论】:
-
你能说明发生了什么字符串错误吗?看起来这段代码不像在
String上直接使用each -
如您所见,错误发生在“1”字符串,我更改了 t1 = Table(%w[a b c])
标签: ruby-on-rails ruby ruby-on-rails-3 reporting ruport