嘿,有没有办法可以用haml做到这一点?
:javascript
var Tab = <%= @tab %>
Run Code Online (Sandbox Code Playgroud)
我可以添加一个助手,我想:
<script>
var Tab = '<%= @tab %>'
</script>
Run Code Online (Sandbox Code Playgroud)
但是使用HAML会很好!
var = #{message}在我的例子中使用我得到undefined local variable or method message- message = 'it works'上述:javascript一切工作正常我想在里面运行迭代 .请参阅最后一个代码示例,了解我在最终的javascript代码中需要什么.在哪里我需要循环一些ruby变量(或散列哈希的散列?)来获得这个.数据(='基础')可以有很少的元素.它可以有少数元素的孩子等..each:javascript
这个haml代码
%html
%head
:javascript
$(document).ready(function() {
- message = 'it works'
var = message
});
%body
- message2 = 'hi'
= message2
%div{:id =>"jstree"}
Run Code Online (Sandbox Code Playgroud)
给了我这个HTML代码
<html>
<head>
<script type='text/javascript'>
//<![CDATA[
$(document).ready(function() {
- message = 'hi'
var = message
});
//]]>
</script>
</head>
<body>
hi
<div id='jstree'></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我想用haml生成的最终javascript代码是javascript变量
var data = [{ …Run Code Online (Sandbox Code Playgroud) 我想知道在rails视图中将变量传递给JavaScript函数的最佳实践是什么.现在我做的事情如下:
<% content_for :javascript do %>
<script type="text/javascript">
Event.observe(window, 'load', function(){
js_function(<%= @ruby_array.to_json %>, <%= @ruby_var %>); )}
</script>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?