Liquid - 你能有一把钥匙,里面有另一把钥匙吗?

Liquid - Can you have a key with another key inside it.

假设您有 {'name' => 'tobi', 'show-name' => 'This is {{name}}' }

的散列

模板是"guess who this is? {{show-name}}"

我希望输出为 guess who this is? This is tobi

不过是"guess who this is? {{show-name}}"

这只是一个简单的例子。但我需要它作为链接,例如

{'guide' => 'racing', 'guide-link' => '<a href='/guides/{{guide}}'>{{guide}}</a>' }`

模板:{{guide-link}}

我想要的输出:<a href='/guides/racing'>racing</a>

我得到的输出 <a href='/guides/{{guide}}'>{{guide}}</a>

这可以用 Liquid 完成吗?我猜你可能会称之为嵌套散列的键或值。

注意:我在 rails 上 ruby 上使用液体 gem 以防万一。

为什么不使用哈希,而是将值存储在字符串中并输出?

本质上,而不是像

这样的东西
foo = { 
        'guide' => 'racing', 
        'guide-link' => '<a href='/guides/{{guide}}'>{{guide}}</a>' 
      }

您可以像这样使用字符串变量。

guide = 'racing'
foo = "<a href='/guides/#{guide}'>#{guide}</a>"

#{guide} 语法等同于

foo = "<a href='/guides/" + guide.to_s + "'>" + guide.to_s + "</a>"

但是,与其构建您自己的 link,听起来您应该使用将为您的模型生成的 link 助手之一。至少,利用 link_to.