1

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

$('#xxx').html("<%= escape_javascript(render('part', testVar: @fromServer)) %>");

这一切都很顺利,但我希望能够对结果表中的列进行排序,而不必重新执行整个操作。这应该很容易,但我无法让部分中的结果变量持续存在。我的目标是能够在部分中有一个脚本标签:

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

我该怎么做呢?

4

1 回答 1

1

只需在 <%= %> 中包装你需要的 ruby​​ 内容。像那样:

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

由于文档将被发送到 ruby​​ 解释器,它将包含您的 testVar 值。也请使用蛇形符号而不是骆驼形。这是红宝石中的常见协议。

于 2012-09-30T21:07:26.117 回答