2012-02-03 3 views
1

Я получил следующий Haml-код в одном из моих шаблонов:Haml: более элегантный способ написать тег + рубиновое-выражение + строку

%b= t ('activerecord.attributes.exercise.title') + ':' 

есть более элегантный способ для достижения этой цели? Предпочтительно, как oneliner и без скобок.

+2

Это уже один лайнер. Почему вы думаете, что это неэлегантно? – yfeldblum

+0

@yfeldblum Ваша точка действительна, но я лично согласен с PizzaPill, что это раздражает - если вы опускаете круглые скобки в вызове метода, а затем хотите добавить пунктуацию, вам нужно войти и добавить не только '+ ':'' но и круглые скобки, и удалите пробел перед ведущими скобками, чтобы он выглядел в порядке. Это просто грубо и выглядит как больше работы, чем должно быть. –

ответ

4

Это выглядит лучше?

%b #{t 'activerecord.attributes.exercise.title'}: 
+0

намного лучше, я надеялся на что-то вроде% b t 'activerecord.attributes.exercise.title' \: но я думаю, что это самое короткое, что мы можем получить. – wintersolutions

+0

Я тоже так думаю. –

2

Решение, которое я хотел бы использовать это Haml в surround, succeed и precede помощникам:

= surround '(', ')' do 
    = link_to 'available here', foo_path 


= precede '*' do 
    = link_to 'source', foo_path 


= succeed ':' do 
    = link_to 'foo', foo_path 
Text following link 

Тогда это просто набрав/вставить строку перед помощником и отступов помощника.

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