【发布时间】:2013-09-06 09:03:40
【问题描述】:
所以从这个字符串:
str = 'Hello #{name}, you are now #{age}.'
我想要
"Hello <%= name %>, you are now <%= age =>"
我试过这个:
str.gsub(/\#{*}/, "<%= \1 %>")
但我不会工作。
【问题讨论】:
-
看来你是在使用 Ruby 来修改 Ruby 源代码。这不是你的文本编辑器能做的吗?
-
嗯,这更复杂。我有 .html.md 视图和使用这种技术的部分视图:stackoverflow.com/a/10131299/1620081 但我需要比
<%= %>更简单的方法来访问变量,因为非技术人员将编辑 .md 视图。我还想到了像str = 'Hello {{name}}, you are now {{age}}.'这样的小胡子语法我必须弄清楚这两种解决方案......无论如何,这只是一个正则表达式问题! -
是的,您绝对应该使用像 Mustache、Handlebars 或 Liquid 这样的模板语言。用户提供的内容不应传递给 ERB。