嘿,我能用Haml实现这个吗?
:javascript
var Tab = <%= @tab %>
我想我可以添加一个帮助器,类似于:
<script>
var Tab = '<%= @tab %>'
</script>
但使用HAML会更好!
嘿,我能用Haml实现这个吗?
:javascript
var Tab = <%= @tab %>
我想我可以添加一个帮助器,类似于:
<script>
var Tab = '<%= @tab %>'
</script>
但使用HAML会更好!
#{...}
) ::javascript
var tab = #{@tab}
请注意正确进行转义。
这是一种糟糕的代码结构方式。
内联JavaScript已经够糟糕了。内联JavaScript中嵌入ERb会让你直接陷入地狱。
JavaScript应该在外部静态文件中。这样浏览器可以缓存它们,而且你可以将JavaScript用作真正的编程语言。
在您的情况下,我建议使用以下内容:
(Haml文件)
#tab= @tab
(CSS文件)
#tab { display: none }
(Javascript文件)
var Tab = $('#tab').innerHTML();
这样一来,所有内容都保持静态和可维护性,并且您不会混合JS和HTML。