我有一个通过RedCloth呈现文本块的视图,我想在该文本中添加一些变量,f.ex。通过红宝石字符串插值。
这有可能吗?
答案 0 :(得分:0)
我假设您使用红布,因此您的用户/编辑将输入文本,但是他们将获得一些他们可以输入的关键字,并且将在渲染时填写。例如author, date, ...
之类的东西,但我当然不知道你的网站是什么。
最干净的延迟字符串插值是使用%
运算符。
仅用于演示目的的一些废话示例:
some_text = "flap %{cookie} some more %{action} NOW!"
filled_in_text = some_text % {cookie: 'banana', action: 'eating' }
Redcloth.new(filled_in_text).to_html
因此,您将从数据库(模型)中检索some_text
,用户/编辑器输入的内容,然后使用%
和可能的哈希值(支持的值)进行插值。结果你只需要用布料。