【问题标题】:How to render a string as an erb file?如何将字符串呈现为 erb 文件?
【发布时间】:2011-11-01 14:09:11
【问题描述】:

如何渲染像 erb 文件这样的字符串。

例如我想要这个字符串:

"Hello <%= 'World'%>"

成为:

"Hello World"

我该怎么做?

【问题讨论】:

    标签: ruby-on-rails ruby erb


    【解决方案1】:

    如果我正确理解你,这将是有帮助的:

    require 'erb'
    str = "Hello <%= 'World'%>"
    result = ERB.new(str).result  # => "Hello World"
    

    更新

    如果要使用变量:

    require 'erb'
    w = "World"
    str = "Hello <%= w %>"
    result = ERB.new(str).result(binding)  # => "Hello World"
    

    【讨论】:

    • 这很好,但是如果字符串中有变量怎么办。我可以传递这些变量吗?
    • 当然可以,但是您必须使用实例变量而不是局部变量。我已经更新了我的帖子。
    • 我遇到了一些奇怪的问题。此代码在控制台中适用于我,但当我在控制器上运行时它不起作用。
    • 这确实有效,但是我有点困惑你是怎么知道使用binding这个词的。此外,为了消除任何混淆,此代码属于控制器,而不是另一个 ERB 文件。
    • 有关绑定关键字的信息:绑定来自 ruby​​ 核心:ruby-doc.org/core-2.4.0/Binding.html
    猜你喜欢
    • 2020-05-16
    • 2012-12-22
    • 2020-06-11
    • 2022-08-24
    • 1970-01-01
    • 2016-07-28
    • 2013-10-19
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多