如何将多个参数打包成一个

时间:2014-06-26 02:04:15

标签: ruby prawn

我使用Prawn生成pdf。要制作table,我会这样做:

table test_rows(test), :column_widths => [100, 200, 360] , &table_style

有没有什么方法可以让我把一个过程放到table_style?我不想在我的代码中重复column_widthstable_style

def table_style
  return Proc.new{
    row(0).font_style = :bold
    columns(1..3).align = :center    
    self.row_colors = ["DDDDDD", "FFFFFF"]
    self.header = true      
  }
end

1 个答案:

答案 0 :(得分:0)

此方法似乎有三个参数:数据,选项和块。见https://github.com/prawnpdf/prawn/blob/master/lib/prawn/table.rb

如果您尝试将这些参数存储为临时变量以在其他表调用中重用,则可以使用以下内容:

options = { :column_widths => [100, 200, 360] }
table_style = Proc.new { ... }

table(data1, options, &table_style)
table(data2, options, &table_style)