PRAWN - 同一列中的两个变量

PRAWN - Two variables in same column

我希望有一个 Prawn PDF,其中包含一个包含两个变量的列。这是我的 table 定义:

def transactions_table
  grid([3,0], [14,3]).bounding_box do
    data = [%w(Date Description Amount)]
    data += @rows.map{|r| [r.value_date, r.description, r.amount, r.credit]}
    options = { header: true, width: 520, 
        column_widths: {0 => 100, 2 => 200},
        row_colors: ['EEEEEE', 'FFFFFF']}
    table(data, options) do 
      cells.padding      = 5
      cells.border_width = 0.5
      cells.border_color = BLACK

      row(0).font_weight = 'bold'
      row(0).border_color = BLACK

      column(2).align = :right
    end
  end
end

如您所见,有四列 value_datedescriptionamountcredit。我想在同一列中包含 amountcredit,但是,我不确定该怎么做。简单地删除逗号是行不通的。有木工能帮我填一下吗。谢谢。

您可以使用 + 运算符连接两个字符串。我不确定你要加入的值是否是字符串,但你可以确保它们是使用 to_s 方法:

data += @rows.map{|r| [r.value_date, r.description, r.amount.to_s + ' ' + r.credit.to_s]}

您可以将两个值合并到一个字符串中,例如使用字符串插值。

data += @rows.map{|r|
 [r.value_date, r.description, "#{r.amount} #{r.credit}"]
}

我能想到的最佳解决方案是删除边框:

    column(3).borders = [:top, :right, :bottom]
    column(2).borders = [:top, :left, :bottom]