HAML | JSON:添加类型为Application/JSON的脚本标记 编写类型为Application/JSON的脚本标记

HAML | JSON:添加类型为Application/JSON的脚本标记 编写类型为Application/JSON的脚本标记,json,haml,multiline,script-tag,Json,Haml,Multiline,Script Tag,这听起来很直截了当。我想要HAML的等价物: <script class="_config" type="application/json"> { "template": "#myId", "css": { "background": "#fff", "opacity": "0.8" } } </script> 。。。这太糟糕了——它在页面中呈现JSON。此外

这听起来很直截了当。我想要HAML的等价物:

<script class="_config" type="application/json">
    {
        "template": "#myId",
        "css": {
            "background": "#fff",
            "opacity": "0.8"
        }
    }
</script>
。。。这太糟糕了——它在页面中呈现JSON。此外,不需要编写“多行”管道。如果它的
应用程序/json
,为什么HAML不知道在没有正常缩进规则的情况下解析它

有没有不需要管道字符的方法来写这个


谢谢

“它在页面中呈现JSON”是什么意思?当我尝试时,它会在内容周围呈现
脚本
标记,与HTML相同(除了与换行符的差异)。你期待什么结果?嗯。。可能与我的环境有关——我正在将实际的json文本呈现到声明此标记的页面中。只是再次检查了一下。在实际代码中,json文本是否在脚本标记下正确缩进,或者在测试时移动了它?缩进都很好。除了多行字符外,唯一对我起作用的是在
%脚本中使用
:plain
过滤器。你说的“它在页面中呈现JSON”是什么意思?当我尝试时,它会在内容周围呈现
脚本
标记,与HTML相同(除了与换行符的差异)。你期待什么结果?嗯。。可能与我的环境有关——我正在将实际的json文本呈现到声明此标记的页面中。只是再次检查了一下。在实际代码中,json文本是否在脚本标记下正确缩进,或者在测试时移动了它?缩进都很好。除了多行字符之外,唯一对我有效的方法是在
%脚本中使用
:plain
过滤器。
%script._config{ type: 'application/json' }
  { |
    "template": "#id", |
    "css": { "background": "#fff" } |
  }