44 votes

Puis-je utiliser des balises html dans twitter bootstrap liste de données de contenu?

Je suis en utilisant Twitter Bootstrap dans les Rails 3.1.3 application. J'ai de nombreux éléments avec popovers comme:

<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>

J'aimerais avoir une liste ordonnée dans la section du contenu de ce type:

<OL reversed="reversed">
  <LI> for Really Nice </LI>
  <LI> for Good Enough </LI>
  ...
</OL>

Est-il une façon simple de le faire sans modifier le JavaScript? Quoi que j'essaye, le code html est affiché sur le navigateur au lieu d'être interprété comme tel.

Mise à JOUR

En utilisant le code suivant par David suggestion

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 }

génère une erreur de syntaxe avec ma configuration. Je pense que cela explique pourquoi: Ruby 1.9 hachage avec un tiret dans une clé . Donc je suis en utilisant:

<%= 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 } %>

Cela ne fonctionne pas. Il génère le code HTML suivant:

<a href="#" options="{:&quot;data-original-title&quot;=&gt;&quot;Quality&quot;, :rel=&gt;&quot;popover&quot;, :&quot;data-content&quot;=&gt;&quot;Did they do a good job? &lt;ol&gt;&lt;li&gt; for Really Nice &lt;/li&gt;&lt;/ol&gt;&quot;}">Q</a>

89voto

iWasRobbed Points 26926

Vous devez créer une liste de l'instance qui a l' html option est activée (le placer dans votre fichier javascript après la liste du code JS):

$('.popover-with-html').popover({ html : true });

Alors le lien de la syntaxe serait:

<%= link_to('Q', '#', :class => "popover-with-html", :title => "Quality", "data-content" => "#{some_content_object.html_safe}") %>

Si vous êtes de générer dynamiquement le contenu, vous devez utiliser html_safe comme David l'a suggéré tellement Rails de ne pas échapper le code HTML. Sinon, vous pouvez simplement placer le contenu HTML directement au sein de ce contenu de l'attribut.

0voto

David Sulc Points 13259

Oui, vous pouvez le faire, mais vous devez appeler html_safe sur votre chaîne (si la chaîne est généré par les 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 }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X