Arm*_*man 44 javascript ruby-on-rails twitter-bootstrap
我在Rails 3.1.3应用程序中使用Twitter-Bootstrap.我有许多元素与popovers如:
<a data-original-title="Quality" rel="popover" data-content="Did they do a good job? 5 for Really Nice, 4 for Good Enough, 3 for Average, 2 for Somewhat OK, 1 for Really Bad">Q</a>
Run Code Online (Sandbox Code Playgroud)
我想在内容部分中有一个有序列表,类似于:
<OL reversed="reversed">
<LI> for Really Nice </LI>
<LI> for Good Enough </LI>
...
</OL>
Run Code Online (Sandbox Code Playgroud)
有一种简单的方法可以在不修改JavaScript的情况下执行此操作吗?无论我尝试什么,html代码都会显示在浏览器上,而不是被解释为这样.
UPDATE
根据David的建议使用以下代码
link_to 'Q', '#', options: { data-original-title: "Quality", rel: 'popover', data-content: "Did they do a good job? <ol><li> for Really Nice </li><li>...</li></ol>".html_safe }
Run Code Online (Sandbox Code Playgroud)
使用我的设置生成语法错误.我认为这解释了原因:Ruby 1.9使用密钥破折号.所以我正在使用:
<%= link_to 'Q', '#', options: { :"data-original-title" => "Quality", :rel => 'popover', :"data-content" => "Did they do a good job? <ol><li> for Really Nice </li></ol>".html_safe } %>
Run Code Online (Sandbox Code Playgroud)
这不起作用.它生成以下HTML:
<a href="#" options="{:"data-original-title"=>"Quality", :rel=>"popover", :"data-content"=>"Did they do a good job? <ol><li> for Really Nice </li></ol>"}">Q</a>
Run Code Online (Sandbox Code Playgroud)
iwa*_*bed 89
您需要创建一个html启用了该选项的弹出框实例(在弹出的JS代码之后将其放在您的javascript文件中):
$('.popover-with-html').popover({ html : true });
Run Code Online (Sandbox Code Playgroud)
那么链接语法将是:
<%= link_to('Q', '#', :class => "popover-with-html", :title => "Quality", "data-content" => "#{some_content_object.html_safe}") %>
Run Code Online (Sandbox Code Playgroud)
如果您正在动态生成内容,那么您需要使用html_safe像David建议的那样,因此Rails不会转义HTML代码.否则,您只需将HTML直接放在该内容属性中即可.
| 归档时间: |
|
| 查看次数: |
63721 次 |
| 最近记录: |