Ruby on rails RHTML到字符串-rails

Ruby on rails RHTML到字符串-rails,ruby-on-rails,ruby,rhtml,Ruby On Rails,Ruby,Rhtml,在我的rails应用程序中,我的模型有一个to_html方法。该方法在其中一个视图中调用,因此模型的属性可以正确显示,而不管它们的类是什么,因为我的所有类都实现了该方法 这是一个简洁的解决方案,但有一件事让我感到不安。我需要将此html代码作为字符串写入双引号中,并最终手动转义html代码中使用的其他双引号 我希望能够使用rhtml文件:读取它们,计算其中的最终ruby代码,并将结果作为包含必要转义字符的字符串返回。我给你举个例子: 以下代码: <label for="blabla">

在我的rails应用程序中,我的模型有一个to_html方法。该方法在其中一个视图中调用,因此模型的属性可以正确显示,而不管它们的类是什么,因为我的所有类都实现了该方法

这是一个简洁的解决方案,但有一件事让我感到不安。我需要将此html代码作为字符串写入双引号中,并最终手动转义html代码中使用的其他双引号

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

以下代码:

<label for="blabla"> <%= ruby_variable.name %> </label>
处理后应返回我:

"<label for=\"blabla\"> name </label>"
有人知道一些已经做到了这一点或者可以为我指明方向的东西吗?我在考虑自己写一段代码。但如果有什么东西已经在那里工作了,我很乐意使用它


谢谢

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

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

<label>testing123</label>

也就是说,我不完全清楚为什么您希望在模型类中使用to_html方法,因为它打破了Rails提供的模型、视图和控制器之间的分离。不过,我还是让你来决定吧

谢谢,沙德威尔。并具有以下结构:ERB.new