内嵌ruby:JavaScript haml标签?

嘿,有没有办法,我可以做到这一点哈姆?

:javascript var Tab = <%= @tab %> 

我可以添加一个帮手,我想:

 <script> var Tab = '<%= @tab %>' </script> 

但是使用HAML会很好!

您可以使用string插值语法( #{...} ):

 :javascript var tab = #{@tab} 

然而,照顾正确的转义。

这是构build代码的一个可怕的方法。

内联JavaScript已经够糟糕了。 内嵌ERb的内联JavaScript会让你直接进入地狱。

JavaScript应该在外部静态文件中。 这样浏览器可以caching它们,并且可以使用JavaScript作为真正的编程语言。

在你的情况下,我会推荐像这样的:

(Haml文件)

#tab= @tab

(CSS文件)

#tab { display: none }

(Javascript文件)

var Tab = $('#tab').innerHTML();

这样一切都保持静态和可维护,你不混合JS和HTML。