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

1 ruby ruby-on-rails erb content-management-system

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

erb = ERB.new(content)
render :text => erb.result
Run Code Online (Sandbox Code Playgroud)

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

undefined method `image_tag' for main:Object
Run Code Online (Sandbox Code Playgroud)

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

非常感谢瑞克

Ste*_*eve 5

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

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

<%= ERB.new("image tag - \<\%= @obj.image_tag \%\>").result(binding) %>
Run Code Online (Sandbox Code Playgroud)