1

Вот мой дизайнер изменить способ использования тега привязки в шаблоне HTML, так что мне нужно изменить в моем шаблоне рельсы тожеконструкция link_to в Rails 3.2.1

, если он помещен под тегом в утвержденных HTML-страниц,

<a href="#">About Me</a> 

Я преобразовав его, как таким образом

<%= link_to "About Me", '#' %> 

Теперь, если он помещен <a href="#">About <span> Me</a> с тег диапазона в заголовке

<ul> 
     <li><a href="#">About <span>Me</span></a></li> 
</ul> 

Вот выход, в основном охватывают тег разрыва строки и отображения на второй линии

About 
Me 

Теперь мне нужна помощь, чтобы преобразовать этот тег с рельсами 3.2.1 тегов.

как <%= link_to "About <span> Me</span>", '#' %>

Как я могу это сделать? (Я знаю, что будет генерировать сообщение об ошибке)

+1

Где заканчивается пролет? Это не похоже на действительный HTML. – JohnColvin

+0

@JohnColvin - Просто обновите ответ. Извините, я пропустил окончательный диапазон –

+0

возможный дубликат [Встроенный HTML в link_to body in Rails] (http://stackoverflow.com/questions/5317951/embedded-html-in-link-to-body-in-rails) –

ответ

4

Вам нужно убедиться, что рельсы не избегают тегов html. Вы можете сделать это либо с помощью html_safe или сырье:

<%= link_to "About <span> Me</span>".html_safe, '#' %> 

или

<%= link_to raw("About <span> Me</span>"), "#" %> 
+0

Также обратите внимание, что между текстом дисплея и гиперссылкой есть запятая - в исходном вопросе отсутствовала запятая. –

+0

@ EdJones - Хороший улов, я просто меняю вопрос, спасибо –

+0

@EdJones - Спасибо, это работает для меня, у меня есть один вопрос. Какой из них лучше всего html_safe или raw? если мы рассмотрим лучшие практики, производительность, безопасность точки зрения –

1

Если оборачивать всю ссылку в пролете в порядке, создать помощник, который делает следующее:

def spanned_link_to(name,path=nil,options=nil) 
    content_tag :span do 
     link_to name, path, options 
    end 
    end 

И использовать его следующим образом:

<%= spanned_link_to "About Me","#" %> 

Если нет,

<%= link_to raw("About <span>Me</span>"),"#" %> 
+0

+ 1 link_to raw, cool. новый для меня сегодня –

0

У меня был бы link_to выход к блоку. Я не совсем уверен, что это выглядит в ERB (я использую HAML). Вы можете написать ссылку, чтобы, как это, хотя:

link_to '#' do 
    content_tag(:span, "About me") 
end 

или я думаю, что вы можете сделать один лайнер, как это:

link_to '#' { content_tag(:span, "About me") } 
+0

как мой, не касается только «Меня», –