Передайте переменную в шаблон в Middleman 2 - PullRequest
6 голосов
/ 25 марта 2012

У меня есть проект Middleman, и мне нужно эмулировать вошедшего в систему пользователя.

Достаточно просто - было бы хорошо установить некоторую глобальную переменную, такую ​​как @user = 1 в config.rb, кодировать все для вошедшего в систему пользователя, затем устанавливать переменную в 0 и кодировать все для для вышедшего пользователя, помещая if везде

Я не кодировщик Ruby, поэтому я не понимаю, где его можно подключить. Итак: как я могу установить глобальную переменную приложения в config.rb посредника?

1 Ответ

12 голосов
/ 26 марта 2012

Вы можете установить переменную по определенным путям, используя помощник page:

page "/my-page.html", :locals => { :is_logged_in => true }

Если вы хотите использовать один шаблон, который содержит оператор if для обработки изменений содержимого на основе is_logged_in, вы бы использовали прокси страницы:

page "/my-page-logged-in.html", :proxy => "/my-page.html", :locals => { :is_logged_in => true }
page "/my-page-logged-out.html", :proxy => "/my-page.html", :locals => { :is_logged_in => false }

Для прямых переменных используйте set:

set :is_logged_in, true

В шаблоне:

<%= is_logged_in %>
...