渲染erb从数据库进入查看问题请帮忙!

时间:2010-10-13 09:55:24

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

我正在我的数据库中保存一些erb并在视图中呈现它:

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

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

undefined method `image_tag' for main:Object

有人对此有所帮助吗?我还得到了stylesheet_link_tag的错误?

非常感谢 瑞克

2 个答案:

答案 0 :(得分:5)

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

我不知道你的情况是什么'内容'但是以下内容将从'父'视图传递绑定,假设从该视图中可以看到@ obj.image_tag:

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

答案 1 :(得分:0)

这是因为你的控制器里没有帮手。您需要包括所有Helper吗?