0

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

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

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

以下代码:

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

处理后应该返回我:

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

有谁知道已经做到这一点或可以为我指明好的方向?我正在考虑自己编写一段代码。但是,如果某些东西已经在那里工作,我很乐意使用它。

谢谢

4

1 回答 1

0

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

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

将返回

<label>testing123</label>

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

于 2010-08-11T15:22:48.633 回答