【问题标题】:render erb from database into view problem please help!将 erb 从数据库渲染到视图问题请帮忙!
【发布时间】:2010-10-13 09:55:23
【问题描述】:

我正在我的数据库中保存一些 erb 并将其呈现在如下视图中:

erb = ERB.new(content)
render :text => erb.result

我在尝试渲染 erb 时遇到错误,该 erb 中保存在数据库中的 erb 中有 image_tag。错误是:

undefined method `image_tag' for main:Object

有人帮忙吗?我也得到了 stylesheet_link_tag 的错误?

非常感谢 瑞克

【问题讨论】:

    标签: ruby-on-rails ruby content-management-system erb


    【解决方案1】:

    我认为您需要将可选绑定参数传递给 ERB::render 方法。这有效地提供了 ERB 模板范围内的局部变量。换句话说,绑定需要将 image_tag 变量提供给模板。

    我不知道在您的情况下“内容”是什么,但假设 @obj.image_tag 从该视图可见,以下内容将从“父”视图传递绑定:

    <%= ERB.new("image tag - \<\%= @obj.image_tag \%\>").result(binding) %>
    

    【讨论】:

    • 这对我帮助很大。谢谢!
    【解决方案2】:

    这是因为您的控制器中没有助手。您需要包含您使用的所有 Helper。

    【讨论】:

    • 我不是从控制器执行此操作。我在侧视图中这样做。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多