RHTML到字符串 - rails

时间:2010-08-11 14:55:07

标签: ruby-on-rails ruby rhtml

在我的rails应用程序中,我的模型有一个to_html方法。在其中一个视图中调用此方法,因此无论其类如何,都可以正确显示模型的属性(因为我的所有类都实现了该方法)

这是一个很好的解决方案,但有一点让我烦恼。我需要在双引号(作为字符串)中编写这个html代码,并最终转义我手动在html代码中使用的其他双引号。

我希望能够使用rhtml文件:读取它们,评估其中的最终ruby代码,并将结果作为带有必要转义字符的字符串返回。我给你举个例子:

以下代码:

<label for="blabla"> <%= ruby_variable.name %> </label>

处理后应该返回我:

"<label for=\"blabla\"> name </label>"

有没有人知道已经做过的事情或者能指出我的好方向?我正在考虑编写一段自己做的代码。但是,如果某些东西已经存在,我很乐意使用它。

由于

1 个答案:

答案 0 :(得分:0)

如果需要,您可以直接在视图之外使用ERB。例如:

require 'erb'
v = 'testing123'
output = ERB.new('<label><%= v %></label>').result(binding)

将返回

<label>testing123</label>

那就是说,我不完全确定你为什么要在你的模型类中使用to_html方法,因为它打破了Rails如此完美提供的模型,视图和控制器之间的分离。我会留给你的!