2013-05-29 3 views
5

у меня есть шаблон Haml кода, как показано ниже:2 Haml link_to на той же строке

% тд = link_to "Включить", enable_product (@product)
% Td = link_to 'Отключить', disable_product (@product)

И показать, как

Включить

Отключить

Но оно отображается в двух ячейках таблицы. То, что я хочу отобразить, состоит в том, чтобы поместить его только в 1 ячейку. Как

Включение/отключение продукта

Видимо, я все еще хочу, чтобы получить гиперссылку Включение и выключение.

Как я могу это сделать в Haml?

Спасибо!

ответ

3

Как link_to производит строку, вы можете объединить их:

%td= link_to("Enable", enable_product(@product))+'/'+link_to('Disable', disable_product(@product)) 

может быть, вы должны объявить результат как html_safe:

%td= (link_to("Enable", enable_product(@product))+'/'+link_to('Disable', disable_product(@product))).html_safe 
+0

спасибо. Оно работает. Я забываю конкатенацию. – AgainstPIT

5

конкатенации наконечник все хорошо.

Просто для записи, вот еще один способ, с помощью пробелов удаления Haml в:

%td 
    %span> 
    = link_to "Enable", "#" 
    \/ 
    %span> 
    = link_to "Disable", "#" 

В > «съедает» пробельная вокруг тегов пролетов.

Зачем нам нужны пролеты? Поскольку удаление пробелов HAML работает только на реальных тегах HAML, а не на строках, исходящих от Ruby.

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