Ruby 将圆角矩形插入虾表单元格中

Ruby 将圆角矩形插入虾表单元格中,ruby,pdf,prawn,Ruby,Pdf,Prawn,我试图在对虾中重现这一点,但无法得到桌子单元格内的圆形矩形 我用过虾表,这是我的代码- tabledata = [["City", "Count" ], ["Atlanta", '888'], ["New York", '888' ]] bounding_box([10, cursor], height: 150, width: 300) do

我试图在对虾中重现这一点,但无法得到桌子单元格内的圆形矩形

我用过虾表,这是我的代码-

tabledata = [["City", "Count" ],
            ["Atlanta", '888'],
            ["New York", '888' ]]


bounding_box([10, cursor], height: 150, width: 300) do
            table(tabledata, :header => true, :column_widths => [250, 50], :cell_style => { :size => 10.5, style: :bold_italic, :height => 24 } ) do
                cells.padding = 6
                row(0).background_color = "edf0f3"
                row(1..3).column(1).background_color = "A61919"
                row(0).text_color = '5D7383'
                row(1..3).column(1).text_color = 'FFFFFF'
                row(1..3).column(0).text_color = '606060'
                row(0..3).borders = [:bottom]
                row(0..3).border_color = 'e0e9eD'
                row(0).border_width = 0.5
                column(1).style(:align => :center)
 end
我想把这个泡泡放在桌子的格子里。如果我将“888”替换为“bubble”,它会给我一个错误-Prawn::Errors::UnrecognizedTableContent(Prawn::Errors::UnrecognizedTableContent)


表数据只是数据,如果您将
888
替换为
bubble
,您将在定义
tabledata
时执行该方法,它将插入该方法的结果,我猜,这将导致您得到的错误

您可以尝试实现一个子类
Prawn::Table::Cell::Text
,并重写。然后创建该类的实例并将其放入
tabledata
中,而不是字符串
888

def bubble
    stroke do
        fill_color "A61919"
        fill_rounded_rectangle [0, cursor + 5], 45, 20, 10
    end
end