2010-11-17 2 views
1

У меня есть следующий код в частичном, который я пытаюсь преобразовать в HAML. Все остается без привязки.Преобразование сложного якоря html.erb в haml

<% @user ||= current_user %> 
<div class="stats"> 
    <table summary="User stats"> 
    <tr> 
     <td> 
     <a href="<%= following_user_path(@user) %>"> 
      <span id="following" class="stat"> 
      <%= @user.following.count %> following 
      </span> 
     </a> 

Я получил это близко с:

- @user ||= current_user 
.stats 
    %table{ :summary => "User stats" } 
    %tr 
     %td 
     %a 
      = following_user_path(@user) 
      %span.stat#following 
      = @user.following.count 
      following 

но якорь не совсем выйти прямо. Я считаю, что я должен сделать это с помощью link_to, но я не понимаю, как смешивать встроенный тег SPAN в аргументах для link_to. Как это сделать? Благодарим вас за помощь.
Том

ответ

4

Вы можете использовать link_to помощника:

= link_to following_user_path(@user) do 
    %span#following.stat 
    == #{@user.following.count} following 
+0

Это сделало трюк, спасибо Питер! – traday

3

Я думаю, что вы можете использовать:

%a{ :href => following_user_path(@user) } 
     %span.stat#following 
     = @user.following.count 
     following 
+0

Очень хорошо, спасибо. Я также хочу понять, есть ли способ сделать это с помощью link_to. Сложность элементов не позволяет сделать это с помощью link_to? – traday

+0

Да, вы можете. Метод link_to может получить дополнительный хэш-параметр, и там вы можете установить класс, id и другие атрибуты элемента привязки. Что-то вроде: link_to 'Link', '#',: id => 'element_id',: class => 'element_class' –

Смежные вопросы