3

ネストされたハッシュがあります:

{
  :KeyA => {
            :KeyB => "hello",
            :KeyC => {
                      :KeyD => "foo",
                      :KeyE => "bar"
                    }
          }
}

これをERBに渡すと、次のことができます。

<%= config[:KeyA][:KeyC][:KeyD] %>

そして取得:

foo

ただし、これはLiquidでは機能しません:(

私が行った場合:

Liquid::Template.parse(template).render(Hash["config" => myhash ])

できます:

{{ config }}

上からpseudojsonを印刷しましたが、

{{ config[:KeyA] }}

結果は何もありません:(

Liquidはこれをサポートしていますか?そうでない場合は、これをサポートするERBの代替手段があり、できれば置換タグをカスタマイズできるようにします(マークアップを含むASPファイルで実行しているためERBを使用できません<%

4

4 に答える 4

1

ドットを使用し、

例えば:

Liquid::Template.parse("{{ a[0].b[2].c  }}").render('a' => [{'b'=>[1,2,{'c'=>33}]}])

出力:

 => "33"
于 2011-03-12T15:35:17.313 に答える
0

最後にエルビスを使用

于 2010-09-14T16:51:46.460 に答える
0

私は同じ問題 (yaml オブジェクトをハッシュにインポートする) を抱えていて、正常に動作することができませんでした。最終的にエルビスを使うことにしました。Liquid 以外にも別のテンプレート エンジンがあります。http://www.hokstad.com/mini-reviews-of-19-ruby-template-engines.htmlで優れた投稿を読むことができます。

于 2010-12-25T12:05:26.800 に答える