Подтвердить что ты не робот

Теги размещения HAML

Я пытаюсь вложить этот

  %h1 Admin Menu
    %small logged in as: #{session[:username]}

Чтобы получить что-то вроде этого

<h1>Admin Menu <small>logged in as: something</small></h1>

Но единственный способ, которым я могу отобразить его, не вызывая ошибки, - это поставить их на один уровень, скажем

  %h1 Admin Menu
  %small logged in as: #{session[:username]}

Какие выходы:

<h1>Admin Menu</h1>
<small>logged in as: something</small>

Это probaby что-то глупое, но я понятия не имею, почему это не сработает?

4b9b3361

Ответ 1

Haml разрешает только встроенное вложение, если все вложенное является встроенным. Итак, вы можете сделать это:

%h1 Admin Menu

или это:

%h1
  Admin Menu
  %small logged in as: #{session[:username]}

но не это:

 %h1 Admin Menu
   %small logged in as: #{session[:username]}

Первая форма должна действительно считаться удобной аббревиатурой. Он существует, поэтому вы можете взять что-то вроде этого:

%li
  One
%li
  Two
%li
  Three

и просто скажите:

%li One
%li Two
%li Three

Ответ 2

Я не пробовал, но не будет ли работать для вас?

%h1 
  Admin Menu
  %small logged in as: #{session[:username]}

Ответ 3

Другим трюком является это.

%h1 
  Admin Menu
  %small
    logged in as: 
    =session[:username]

потому что последние 2 строки будут отображаться внутри "small" -tag

Ответ 4

Или вы могли бы просто использовать простой CSS, чтобы сделать трюк, как:

%h1
  Admin Menu
    .small{ style: 'font-size: smaller;' }
      logged in as:
      = session[:username]

таким образом вы можете указать другие атрибуты или определенный размер шрифта.