在我的rails应用程序中,我的模型有一个to_html方法。这个方法是在一个视图中调用的,因此模型的属性可以正确地显示,而不管它们的类是什么(因为我的所有类都实现了这个方法)
这是一个很好的解决方案,但有一件事困扰着我。我需要将这段html代码写在双引号内(作为字符串),并最终转义我在html代码中手动使用的其他双引号。
我希望能够使用rhtml文件:读取它们,评估其中的最终ruby代码,并将结果作为包含必要转义字符的字符串返回。我给你举个例子:
以下代码:
<label for="blabla"> <%= ruby_variable.name %> </label>当被处理时应该返回我:
"<label for=\"blabla\"> name </label>"有没有人知道一些已经做到这一点的东西,或者可以给我指明一个好的方向?我正在考虑自己写一段代码来做这件事。但如果已经有一些东西在运行,我会很乐意使用它。
谢谢
发布于 2010-08-11 23:22:49
如果需要,可以直接在视图外部使用ERB。例如:
require 'erb'
v = 'testing123'
output = ERB.new('<label><%= v %></label>').result(binding)将会返回
<label>testing123</label>也就是说,我不完全确定为什么要在模型类中使用to_html方法,因为它打破了Rails很好地提供的模型、视图和控制器之间的分离。不过,我还是把这个问题留给你吧!
https://stackoverflow.com/questions/3459668
复制相似问题