Добавление тегов span к ссылке ruby? - PullRequest
1 голос
/ 08 января 2010

Как добавить теги span к ссылке ниже в ruby?

<%= link_to (l(:button_show), {:action => 'show', :path => to_path_param(@path)}, :class => "button") %>

Я бы хотел добавить теги span к ссылке следующим образом:

<a href="/show" class="button"><span>Show</span></a>

Ответы [ 2 ]

2 голосов
/ 08 января 2010

Ответ Кевина будет работать нормально. Я предпочитаю его второй вариант (с использованием блока) вместо вставки интерполированной строки в качестве аргумента. Я действительно мог бы предпочесть это:

<%= link_to content_tag(:span, l(:button_show)), {:action => 'show', :path => to_path_param(@path)}, :class => "button" -%>

content_tag просто возвращает строку HTML. Его первым аргументом является имя тега. Второе - это тег содержимого. (Существует альтернативное использование блока, но это только усложнит ситуацию.)

1 голос
/ 08 января 2010

Вполне возможно. Первый параметр link_to - это просто произвольная строка, поэтому вы можете сделать это:

<%= link_to("<span>#{l(:button_show)}</span>",
      {:action => 'show', :path => to_path_param(@path)}, :class => "button") %>

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

<% link_to({:action => 'show', :path => to_path_param(@path)}, :class => "button") do %>
  <span><%= l(:button_show) %></span>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...