2010-04-21 3 views
18

Я довольно новичок в Ruby on Rails, и я пытаюсь создать некоторые причудливые кнопки CSS, используя технику «раздвижных дверей». У меня это почти работает, но я чувствую, что должен быть лучший способ обработать теги для ссылки.Rails и <span> tag

Как я сейчас делаю это:

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

Это не страшно, сами по себе, но я хотел бы знать, если это лучший способ справиться с пролетными тегами в RoR.

+0

Есть * разные * способы, но я думаю, что вы используете лучший. – Ben

ответ

35

Другой вариант заключается в следующем:

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

docs

+2

Ницца, это работает очень хорошо. Вы можете даже добавить маленькие иконки к кнопке: <% = link_to content_tag (: span, 'New Car' + image_tag ("car_add.png")), {: action => "new"},: class => "кнопка"%> –

6

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

Используйте content_tag:

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

Использовать link_to с блоком:

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

И, конечно же, вы можете объединить два, поставив content_tag внутри блока, но я оставлю читателю в качестве упражнения :)

6

Или вы могли бы быть профессионалом и использовать именованные маршруты/ресурсы + Haml. Это сделало бы выглядеть следующим образом:

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

То, что вы прекрасно, хотя ..

+0

Ницца Джимми. – pjammer

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