キーと値を出力できるように、セルマーのマップを反復処理したいと思います。私が見る限り、これはそのままではサポートされていないため、次のことを試しました。
(defn mapper-tag [args context-map content]
(when-let [map-data (get context-map (keyword (first args))
(get context-map (first args)))]
(apply str (for [[k v] map-data]
(selmer.parser/render (get-in content [:mapper :content]) {:key k :val v})))))
(selmer.parser/add-tag! :mapper mapper-tag :endmapper)
(selmer.parser/render "{% mapper m %}KEY {{key}} \n{% endmapper %}" {:m {:a 1 :b 1}})
私はこれが次のようなものを出力することを期待しています
KEY a
KEY b
しかし、それは出力します
KEY
KEY
ポインタはありますか?