Slim可以将块解释为Javascript吗?

时间:2018-01-21 23:57:09

标签: javascript ruby-on-rails ruby slim-lang

是否可以定义一个自定义帮助方法,该方法输出<script>标记并将capture d块解释为Javascript?

说我想在IIFE中包装我的Javascript。我希望能够在我的Slim模板中写下这个:

= javascript_iife do
  console.log("Hello, world!");

让它编译成这个HTML:

<script>
  (function() {
    console.log("Hello, world!");
  })();
</script>

这个助手几乎做了我想要的事情:

def javascript_iife(&block)
  javascript = capture(&block)
  raw("<script>(function() {") + javascript + raw("})();</script>")
end

但它并不将该块解释为Javascript,而是将其解释为Slim风格的HTML(导致语法错误)。我必须将我的Slim模板重写为:

= javascript_iife do
  | console.log("Hello, world!");

我能否以原始模板按预期工作的方式实现帮助程序?或者我可以实现类似于Javascript过滤器(javascript_iife:)的自定义过滤器(javascript:)吗?

0 个答案:

没有答案