Могу ли я использовать теги html в twitter-bootstrap popover data-content?
Я использую Twitter-Bootstrap в приложении Rails 3.1.3. У меня есть множество элементов с 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>
Я хотел бы иметь упорядоченный список в разделе контента, подобном:
<OL reversed="reversed">
<LI> for Really Nice </LI>
<LI> for Good Enough </LI>
...
</OL>
Есть ли простой способ сделать это без изменения JavaScript? Независимо от того, что я пытаюсь, html-код отображается в браузере, а не интерпретируется как таковой.
UPDATE
Используя следующий код для предложения Дэвида
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 }
генерирует синтаксическую ошибку с моей настройкой. Я думаю, это объясняет, почему: 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 } %>
Это не работает. Он генерирует следующий 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>
Ответы
Ответ 1
Вам нужно создать экземпляр popover с включенной опцией html
(поместите это в свой javascript файл после всплывающего JS-кода):
$('.popover-with-html').popover({ html : true });
Тогда синтаксис ссылки:
<%= link_to('Q', '#', :class => "popover-with-html", :title => "Quality", "data-content" => "#{some_content_object.html_safe}") %>
Если вы динамически генерируете контент, вам нужно использовать html_safe
, как предположил Дэвид, поэтому Rails не избегает кода HTML. В противном случае вы можете просто разместить HTML непосредственно в этом атрибуте контента.
Ответ 2
Да, вы можете это сделать, но вам нужно вызвать html_safe
в вашей строке (если строка генерируется Rails)
link_to 'Q', '#', :title => "Quality", :rel => 'popover', "data-content" => "Did they do a good job? <ol><li> for Really Nice </li><li>...</li></ol>".html_safe }