从Ruby部分设置javascript变量

从Ruby部分设置javascript变量,javascript,ruby-on-rails,ruby,partial,Javascript,Ruby On Rails,Ruby,Partial,我有一个非常长的操作,以一个巨大的数组结束。该数组作为一个Ruby对象传递给一个js.erb文件,该文件使用它呈现一个片段: $('#xxx').html("<%= escape_javascript(render('part', testVar: @fromServer)) %>"); $('#xxx').html(“”); 这一切都进行得很顺利,但我希望能够对结果表中的列进行排序,而无需重新执行整个操作。这应该很容易,但我无法使partial中的结果变量保持不变。我的目标是能

我有一个非常长的操作,以一个巨大的数组结束。该数组作为一个Ruby对象传递给一个js.erb文件,该文件使用它呈现一个片段:

$('#xxx').html("<%= escape_javascript(render('part', testVar: @fromServer)) %>");
$('#xxx').html(“”);
这一切都进行得很顺利,但我希望能够对结果表中的列进行排序,而无需重新执行整个操作。这应该很容易,但我无法使partial中的结果变量保持不变。我的目标是能够在部分中有一个脚本标记:

<script type="text/javascript">
    $("#column").click(function(){
        $.ajax({
              type : 'POST',
              url : '/sort_column',
              data : {data: jsVar},
              dataType : 'script'
        });
    });
</script>

$(“#列”)。单击(函数(){
$.ajax({
键入:“POST”,
url:“/sort_column”,
数据:{data:jsVar},
数据类型:“脚本”
});
});

我该怎么做呢?

只要把你需要的ruby包起来就行了。就像这样:

data : {data: "<%= testVar %>"},
数据:{data:},

因为文档将被发送到ruby解释器,所以它将包含您的testVar值。此外,请使用蛇的情况下表示法,而不是骆驼的情况。这在ruby中是一个常见的协议。

只需将ruby中需要的东西包装到中即可。就像这样:

data : {data: "<%= testVar %>"},
数据:{data:},

因为文档将被发送到ruby解释器,所以它将包含您的testVar值。此外,请使用蛇的情况下表示法,而不是骆驼的情况。在ruby中,这是一个普遍的共识。

无论出于何种原因,脚本都无法呈现。Ruby中是否有一些关于在片段中呈现脚本的规则?如果您没有得到错误,那么您的控制器逻辑可能没有按照预期工作,并且没有使用js进行响应,您可以将控制器方法添加到问题中吗?无论出于何种原因,脚本都没有被呈现。Ruby中是否有一些关于在部分中呈现脚本的规则?如果您没有得到错误,那么您的控制器逻辑可能没有按照预期工作,并且没有用js响应,您是否可以在问题中添加控制器方法?