2010-11-17 15 views
1

J'ai le code suivant dans un partiel que j'essaye de convertir en HAML. Tout est facile jusqu'à l'ancre.Conversion d'une ancre html.erb complexe en 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> 

Je l'ai étroite avec:

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

mais l'ancre ne vient pas tout à fait à droite. Je crois que je devrais être capable de le faire avec un link_to mais je ne suis pas clair sur la façon de mélanger la balise SPAN incorporée dans les arguments de link_to. Comment cela devrait-il être fait? Merci pour toute aide.
Tom

Répondre

4

Vous pouvez utiliser l'assistant link_to:

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

Cela a fait l'affaire, merci Peter! – traday

3

Je pense que vous pouvez utiliser:

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

Très bien, merci. Je cherche aussi à comprendre s'il y a un moyen de le faire avec link_to. Est-ce que la complexité des éléments en empêche une avec link_to? – traday

+0

Oui, vous pouvez. La méthode link_to peut recevoir un paramètre de hachage facultatif et vous pouvez y définir la classe, l'identifiant et d'autres attributs de l'élément d'ancrage. Quelque chose comme: link_to 'Link', '#',: id => 'element_id',: class => 'element_class' –