【发布时间】:2021-08-26 15:52:47
【问题描述】:
我正在 html.erb 文件中构建网页。它包括 20 张具有相同元素的卡片,每张卡片都包含一个链接。我想构建一次卡片,遍历 Ruby 哈希来构建其余部分。
但是,某些卡片段落包含 ERB 表达式,我无法找到将其包含在哈希中的方法。是否有解决方法将此信息存储在哈希中?
这是我如何尝试存储信息的示例,“段落”值是问题:
{
"product1" => {
"title" => "The Best Product for Your Needs",
"paragraph" => "Find out more <%= link_to 'here', 'https://www.product.com' %> about what this product can do for you."
}
}
我尝试了正则表达式转义 \、不同的引号组合(' 与 ")和 Ruby 字符串插值(#{<%= ... %>})。
谢谢!
【问题讨论】:
-
我一定错过了什么。我不明白问题是什么。你可以说得更详细点吗?在我看来,它应该完全按照你写的那样工作。
-
如果您想评估段落内的 ERB expr,您可能需要 render before you print inside your component,然后使用
<%= raw ERB.new(item["paragraph"]).result(binding) %>打印到您的组件中 -
@MichaelB,它在字符串和 404 页面内的 ERB 上引发错误。
标签: ruby-on-rails ruby erb