虾PDF内联颜色助手方法

时间:2017-07-13 18:56:37

标签: ruby-on-rails pdf ruby-on-rails-5 prawn string-interpolation

所以我在我的rails应用程序中使用Prawn PDF gem而我正在尝试编写一个帮助方法,当字符串的其余部分为蓝色时,文本字符串的一部分是黑色的,我之所以尝试写一个帮手是因为这将用于许多不同的领域。不确定Prawn是否支持这个,但我一直在试一试。

text string

pad_bottom(5) { text "Owner: #{inline_black_helper(@order.first.owner)}", align: :center, inline_format: true, color: blue, size: 16 }

inline_black_helper

def inline_black_helper(text)
  "<color rbg='000000'>#{text}</color>"
end

Aka和做

一样
pad_bottom(5) { text "Owner: <color rbg='000000'>#{@order.first.owner}</color>", align: :center, inline_format: true, color: blue, size: 16 }

显然最后一个例子工作得很好,但正如所述,因为这将用于许多领域,不得不写<color rbg='000000'>..</color> 50次对我来说似乎非常“不受阻碍”。此当前实现不会引发错误,并且实际信息正确插值,但整个text为蓝色,而不是第一部分为蓝色,所需@order.first.owner为黑色。任何见解都会一如既往地受到赞赏,谢谢!

1 个答案:

答案 0 :(得分:1)

你的助手错了。你需要:

<color rbg='000000'>

您目前有rbg