内嵌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。