Встроенный HTML в теле link_to в Rails - PullRequest
67 голосов
/ 15 марта 2011

Каков наилучший способ получения встроенного HTML в теле ссылки, сгенерированной с помощью метода link_to?

Я в основном хочу следующее:

<a href="##">This is a <strong>link</strong></a>

Я былпытаясь сделать это, как предложено в Rails и теге , но безуспешно.Мой код выглядит следующим образом:

item_helper.rb

def picture_filter
    #...Some other code up here
    text = "Show items with " + content_tag(:strong, 'pictures')
    link_to text, {:pics => true}, :class => 'highlight'
end

item_view.html.erb

 #...
 <%=raw picture_filter %>
 #...

Ответы [ 5 ]

108 голосов
/ 16 марта 2011

Попробуй так

<%= link_to(raw("a <strong>strong</strong> link"),{:pics => true},{ :class => 'highlight'})  %>
53 голосов
/ 16 марта 2011
= link_to "http://www.example.com" do
   <strong>strong</strong>
25 голосов
/ 09 мая 2016

С 2016 года я предпочитаю этот метод.

<%= link_to url: my_path do %>
    This is a <strong>ape</strong>
<% end %>
16 голосов
/ 23 апреля 2014

вы можете использовать html_safe

<%= link_to ("<i class='someIcon'></i> Link").html_safe %>
4 голосов
/ 16 марта 2011

Не уверен, что это лучший способ.

Но я был очень успешным в размещении множества помощников вида в вызове content_tag.

Также не помешает вызвать .html_safe

link_to(content_tag(:span, "Show yada " + content_tag(:strong, "Pictures")), {:pics => true})
...