将变量传递给Middleman 2中的模板

时间:2012-03-25 14:44:15

标签: ruby middleman

我有一个Middleman项目,我需要模拟一个登录用户。

足够简单 - 可以在config.rb中设置一些全局变量,如@ user = 1,为登录用户编码所有内容,然后将变量设置为0,并为已注销用户的所有内容编码,如果&到处都是

我不是Ruby编码器,所以我不知道在哪里可以搞定。 那么:如何在中间人的config.rb中设置全局app变量?

1 个答案:

答案 0 :(得分:12)

您可以使用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 %>