代码之家  ›  专栏  ›  技术社区  ›  deiga

RedCloth和Ruby字符串插值是否可行?

  •  0
  • deiga  · 技术社区  · 11 年前

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

    这有可能吗?

    1 回复  |  直到 11 年前
        1
  •  0
  •   nathanvda    11 年前

    我假设您使用红布,所以您的用户/编辑器将输入文本,但会给他们一些可以输入的关键字,这些关键字将在渲染时填充。例如,类似于 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 从数据库(模型)中选择用户/编辑器键入的内容,然后使用 % 以及可能(支持的值)的散列。结果你只需交给红布。