0

我有一个通过 RedCloth 呈现文本块的视图,我想向该文本添加一些变量 f.ex。通过红宝石字符串插值。

这有可能吗?

4

1 回答 1

0

我假设您使用 redcloth,因此您的用户/编辑将输入文本,但他们将获得一些可以输入的关键字,这些关键字将在渲染时填写。例如,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数据库(模型)中检索用户/编辑器输入的内容,然后使用%和可能的(支持的值)的哈希值进行插值。结果你只是交给红布。

于 2014-07-23T08:20:20.517 回答