首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RHTML to string - rails

RHTML to string - rails
EN

Stack Overflow用户
提问于 2010-08-11 22:55:07
回答 1查看 233关注 0票数 0

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

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

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

以下代码:

代码语言:javascript
复制
<label for="blabla"> <%= ruby_variable.name %> </label>

当被处理时应该返回我:

代码语言:javascript
复制
"<label for=\"blabla\"> name </label>"

有没有人知道一些已经做到这一点的东西,或者可以给我指明一个好的方向?我正在考虑自己写一段代码来做这件事。但如果已经有一些东西在运行,我会很乐意使用它。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-11 23:22:49

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

代码语言:javascript
复制
require 'erb'
v = 'testing123'
output = ERB.new('<label><%= v %></label>').result(binding)

将会返回

代码语言:javascript
复制
<label>testing123</label>

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3459668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档