如何在Slim模板的JavaScript代码块中嵌入Ruby变量的输出值
解决方案
你可以直接使用Slim内置的#{}插值语法插入Ruby变量,推荐搭配to_json保证输出的是合法JS字面量,写法如下:
javascript: window.ads.hasMap = #{show_map.to_json};
说明
- Slim的javascript块中,
#{}包裹的内容会被作为Ruby代码执行,输出结果插入到对应位置,和ERB的<%= %>作用完全一致 - 追加
to_json是通用兼容写法:无论show_map是布尔值、数字、字符串还是对象类型,都会被转成合法的JS字面量,避免出现引号缺失、类型转换错误的问题。如果你确认show_map是布尔/数字类型,也可以省略to_json直接写#{show_map}。
内容的提问来源于stack exchange,提问作者ibpix
相关产品推荐
相关产品推荐

