Ruby on rails 对虾表:遍历活动记录关系对象以填充内容

Ruby on rails 对虾表:遍历活动记录关系对象以填充内容,ruby-on-rails,ruby,prawn,Ruby On Rails,Ruby,Prawn,我正在使用RubyGem:和扩展为prawn提供创建表的功能 当您有静态数据时,使用prawn创建表格的基础是简单的: # This works. Easy because it is static data def prepare_for_print pdf = Prawn::Document.new pdf.font_size 11 pdf.font "Times-Roman" pdf.table([ ["short", "short", "loooooooooooooo

我正在使用RubyGem:和扩展为prawn提供创建表的功能

当您有静态数据时,使用prawn创建表格的基础是简单的:

# This works.  Easy because it is static data
def prepare_for_print
  pdf = Prawn::Document.new
  pdf.font_size 11
  pdf.font "Times-Roman"

  pdf.table([ ["short", "short", "loooooooooooooooooooong "*30],
              ["short", "loooooooooooooooooooong "*15, "short"],
              ["loooooooooooooooooooong "*10, "short", "short"] ])
  return pdf
end
太好了。那还不错。但现在我想遍历活动记录关系对象,但我的尝试不起作用:

def prepare_for_print
  pdf = Prawn::Document.new
  pdf.font_size 11
  pdf.font "Times-Roman"


  calls_by_disability.each do |disability|
    pdf.text "#{disability}", style: :bold, color: "001133"
    pdf.table([ ["Call ID", "Date", "County", "Service Category", "Service", "Notes"],
              disability.calls.each do |call|
                ["hello", "world", "foo", "bar", "bazz", "adsfsa"],
              end
              ])
  end
  return pdf
end
问题在于迭代相关调用:

disability.calls.each do |call|
  ["hello", "world", "foo", "bar", "bazz", "adsfsa"],
end
任何提示都将不胜感激。谢谢

逐个残疾呼叫。每个人都有残疾|
  calls_by_disability.each do |disability|
    pdf.text "#{disability}", style: :bold, color: "001133"

    header = ["Call ID", "Date", "County", "Service Category", "Service", "Notes"]
    table_data = []
    table_data << header
    disability.calls.map do |call|
      table_data << [call.id, call.date, call.country, call.service_category, call_service, call.notes]
    end
    pdf.table(table_data)
  end
pdf.text“#{disability}”,样式::粗体,颜色:“001133” header=[“呼叫ID”、“日期”、“县”、“服务类别”、“服务”、“备注”] 表_数据=[]
根据您的建议答案,我得到了一个错误:
数据必须是一个二维可移动对象数组
编辑如何?我无法测试它,我只是想帮你,因为我今天在工作中花了几个小时在虾桌上,这很痛苦**:)请查看编辑并尝试跟踪错误,它们很有描述性。我想我真的很接近,感谢你的帮助。问题在于,
table_data
有一个额外的
[]
出于某种原因为每个调用包装数据。我试着拿出
map
并用
替换它。每个
都不行。给我10分钟,我必须完成一些事情并编辑答案。谢谢!它仍然给我这个错误:
数据必须是一个二维的可移动对象数组