Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将rails变量设置为Javascript变量?_Ruby On Rails_Variables - Fatal编程技术网

Ruby on rails 如何将rails变量设置为Javascript变量?

Ruby on rails 如何将rails变量设置为Javascript变量?,ruby-on-rails,variables,Ruby On Rails,Variables,我想做一些类似的事情,但我似乎不能让它为我的目的工作。我正在使用拖放jQuery将“items”转换为“pods”。这是我的密码: function onReceive(id,pod_id){ var id = id; var pod_id = pod_id; confirm("Add " +id + " to " + pod_id + "?"); } 我想做的就是这样: function onReceive(id,pod_id){ <% @pod_id = pod_id %> &

我想做一些类似的事情,但我似乎不能让它为我的目的工作。我正在使用拖放jQuery将“items”转换为“pods”。这是我的密码:

function onReceive(id,pod_id){
var id = id;
var pod_id = pod_id;
confirm("Add " +id + " to " + pod_id + "?");
}
我想做的就是这样:

function onReceive(id,pod_id){
<% @pod_id = pod_id %>
<% @id = id %>
}
接收功能(id、pod\U id){ }
但我知道解决办法并不那么容易。如何将id和pod_id传递给我的控制器?理想情况下,我希望将其传递给更新操作。注:我根本不懂AJAX,所以如果这是唯一的方法,请提供详细信息…

将数据从浏览器客户端传递到rails应用程序的唯一方法是通过HTTP。要在JavaScript中实现HTTP,可以使用XHR(也称为AJAX)。您不能像在代码示例中所建议的那样在模板中这样做,因为模板是由服务器上的Rails呈现的,而在客户机上是以HTML和JavaScript的形式计算的。客户端/浏览器和服务器之间没有内联通信

假设jQuery:

function onReceive(id,pod_id){
    $.ajax({
        url: "/some/url",
        data: {pod_id: pod_id, id: id} 
    });
}
然后,您需要设置一个控制器来响应/some/url,并使用
params[:pod\u id]
params[:id]

首先调用的
onReceive(id,pod\u id)
方法执行任何需要执行的操作?您可以从中获取和分配值。