我正在Rails 3.1.3应用程序中使用Twitter引导。我有很多关于流行的元素,比如:
<;a data original title=“Quality”rel=“popover”data content=“他们做得好吗?5表示非常好,4表示足够好,3表示一般,2表示稍好,1表示非常差”>;Q</a>;
我希望在内容部分有一个类似以下内容的有序列表:
<;OL reversed=“reversed”>;
<;李>;真的很好</李>;
<;李>;足够好了</李>;
...
</OL>;
有没有一种不修改JavaScript的简单方法?无论我尝试什么,html代码都会显示在浏览器上,而不是被解释为这样
更新
按照David的建议使用以下代码
链接到'Q','选项:{数据原始标题:“质量”,rel:'popover',数据内容:“他们做得好吗?<;ol>;<;li>;<;/li>;<;/li>;<;/ol>;.html\u-safe}
在我的设置中生成语法错误。我想这就解释了原因:Ruby 1.9散列在一个键中加了一个破折号。所以我使用:
<;%=链接到“Q”,选项:{:“数据原始标题”=>;“质量”;:rel=>;“popover”;:“数据内容”=>;“他们做得好吗?”<;ol>;<;li>;<;/ol>;<;/ol>;<;<;<;<;<;真不错<;/li>;<;<;/ol>;>;.html\u safe}%>;
这不管用。它生成以下HTML:
<;a href=”“options=“{:”数据原始标题“=”质量“,:rel=”popover“,:”数据内容“=”他们做得好吗?“<;ol>;<;li>;<;真的很好”<;/li>;<;/ol>;”;Q</a>;
您需要创建一个启用了html选项的popover实例(将其放在您的javascript文件中的popover JS代码之后):
$('.popover with html').popover({html:true});
那么链接语法将是:
<;%=链接到('Q','#',:class=>;“带html的popover”,:title=>;“Quality”,“data content”=>;“{some_content_object.html_safe}”)%>;
如果要动态生成内容,那么需要像David建议的那样使用html\u safe,这样Rails就不会逃避html代码。否则,您可以直接将HTML放在该内容属性中