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_date
、description
、amount
和 credit
。我想在同一列中包含 amount
和 credit
,但是,我不确定该怎么做。简单地删除逗号是行不通的。有木工能帮我填一下吗。谢谢。
您可以使用 +
运算符连接两个字符串。我不确定你要加入的值是否是字符串,但你可以确保它们是使用 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]
我希望有一个 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_date
、description
、amount
和 credit
。我想在同一列中包含 amount
和 credit
,但是,我不确定该怎么做。简单地删除逗号是行不通的。有木工能帮我填一下吗。谢谢。
您可以使用 +
运算符连接两个字符串。我不确定你要加入的值是否是字符串,但你可以确保它们是使用 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]