2010-04-21 9 views
18

Jestem całkiem nowy dla Ruby on Rails, a ja próbuję stworzyć kilka wymyślnych przycisków CSS za pomocą techniki "drzwi przesuwnych". Mam prawie działa, ale czuję, że musi istnieć lepszy sposób na obsługę znaczników dla łącza.Szyny i znacznik <span>

Sposób Jestem obecnie robi to:

<%= link_to '<span>New car</span>', {:action => "new"}, :class=>"button" %> 

To nie jest straszne, per se, ale chciałbym wiedzieć, czy jest to najlepszy sposób obsłużyć znaczniki SPAN w RoR.

+0

Istnieją różne * * sposoby, ale myślę, że używasz najlepszy. – Ben

Odpowiedz

35

Inną opcją jest taka:

<%= link_to content_tag(:span, 'New car'), {:action => "new"}, :class=>"button" %> 

docs

+2

Fajnie, to działa naprawdę dobrze. Możesz nawet dodać małe ikony do przycisku, wykonując: <% = link_do content_tag (: span, "Nowy samochód" + image_tag ("car_add.png")), {: action => "nowy"},: klasa => "button"%> –

6

Jeśli nadal jesteś ciekaw, oto kilka sposobów, aby przepisać kod:

Używaj content_tag:

<%= link_to content_tag("span", "New car"), {:action => "new"}, :class=>"button" %> 

Użyj link_to z blokiem:

<%= link_to {:action => "new"}, :class=>"button" do %> 
    <span>New card</span> 
<% end %> 

I oczywiście, można połączyć dwa umieszczając content_tag wewnątrz bloku, ale zostawiam czytelnikowi jako ćwiczenie :)

6

Lub może być pro i używać nazwanych trasy/zasoby + Haml. Że mogłoby to wyglądać tak:

%a{ :href => new_car_path } 
    %span New Car 

Co masz jest w porządku, chociaż ..

+0

Przyjemny Jimmy. – pjammer