gpt4 book ai didi

ruby - 如何使值在所有 Liquid 模板中可用

转载 作者:数据小太阳 更新时间:2023-10-29 08:01:52 26 4
gpt4 key购买 nike

我将 Liquid 与 Sinatra 一起使用,并希望在所有模板中提供某个值(特别是 Sinatra::Application.environment),而不是在每个 get/post 中将其定义为本地值.像这样:

在 app.rb(我的主应用程序文件)中:

# nothing in here about the variable
get '/some/route' do
# or here
liquid :my_template
end

在 app.rb——我的主要应用程序文件中,或者我可以要求/包含的东西:

some_awesome_technique do
def app_env
Sinatra::Application.environment
end
end

在任何模板中:

<p>
{% if environment == :development %}
Never see this in production
{% end %}
</p>

<!-- or even -->

<p>
{% if dev_mode %}
Or this...
{% endif %}
</p>

只要我不必在每个路由中放置冗余代码,我就不太关心实现。提前致谢!

最佳答案

像这样的东西会起作用

before do
@env = Sinatra::Application.environment
end

然后在你的模板中:

{% if @env == :development %}
Boo!
{% endif %}

关于ruby - 如何使值在所有 Liquid 模板中可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com