在我的rails应用程序中,我的模型有一个to_html方法。在其中一个视图中调用此方法,因此无论其类如何,都可以正确显示模型的属性(因为我的所有类都实现了该方法)
这是一个很好的解决方案,但有一点让我烦恼。我需要在双引号(作为字符串)中编写这个html代码,并最终转义我手动在html代码中使用的其他双引号。
我希望能够使用rhtml文件:读取它们,评估其中的最终ruby代码,并将结果作为带有必要转义字符的字符串返回。我给你举个例子:
以下代码:
<label for="blabla"> <%= ruby_variable.name %> </label>
处理后应该返回我:
"<label for=\"blabla\"> name </label>"
有没有人知道已经做过的事情或者能指出我的好方向?我正在考虑编写一段自己做的代码。但是,如果某些东西已经存在,我很乐意使用它。
由于
答案 0 :(得分:0)
如果需要,您可以直接在视图之外使用ERB。例如:
require 'erb'
v = 'testing123'
output = ERB.new('<label><%= v %></label>').result(binding)
将返回
<label>testing123</label>
那就是说,我不完全确定你为什么要在你的模型类中使用to_html方法,因为它打破了Rails如此完美提供的模型,视图和控制器之间的分离。我会留给你的!