Sinatra 中的嵌套液体模板
Nested Liquid Templates in Sinatra
根据 Sinatra 文档,您可以像这样将液体对象传递到液体模板中
liquid :index, :locals => { :title => "My Sinatra App"}
用于在类似
的模板中呈现
{{title}}
这似乎与嵌套对象不符,例如
liquid :index, :locals => { :foo => { :bar => "baz" }}
不让我在 liquid 模板中引用 bar 的值
{{foo.bar}}
是否有一些特定的方法来构建嵌套的液体对象以传递到视图中?谢谢!
我正在处理同样的问题,我发现如果您使用符号在本地散列中定义子键,您不会得到您可能期望的行为。换句话说:
liquid :index, :locals => { :foo => { :bar => "baz" }}
不会让{{ foo.bar }}
如你所愿。你要的是:
liquid :index, :locals => { :foo => { "bar" => "baz" }}
这将使 {{ foo.bar }}
替换为您期望的值 baz
。
鉴于此行为,这可能是 useful/relevant 后续 SO post:
How to change hash keys from `Symbol`s to `String`s?
根据 Sinatra 文档,您可以像这样将液体对象传递到液体模板中
liquid :index, :locals => { :title => "My Sinatra App"}
用于在类似
的模板中呈现{{title}}
这似乎与嵌套对象不符,例如
liquid :index, :locals => { :foo => { :bar => "baz" }}
不让我在 liquid 模板中引用 bar 的值
{{foo.bar}}
是否有一些特定的方法来构建嵌套的液体对象以传递到视图中?谢谢!
我正在处理同样的问题,我发现如果您使用符号在本地散列中定义子键,您不会得到您可能期望的行为。换句话说:
liquid :index, :locals => { :foo => { :bar => "baz" }}
不会让{{ foo.bar }}
如你所愿。你要的是:
liquid :index, :locals => { :foo => { "bar" => "baz" }}
这将使 {{ foo.bar }}
替换为您期望的值 baz
。
鉴于此行为,这可能是 useful/relevant 后续 SO post:
How to change hash keys from `Symbol`s to `String`s?