在javascript中更改ruby变量

在javascript中更改ruby变量,javascript,jquery,ruby-on-rails,ruby,Javascript,Jquery,Ruby On Rails,Ruby,这是我在下拉列表中获取ID的jquery。 $(文档).ready(函数(){ $('installationsDropDown1 li a')。在('click',function()上{ Id=$(this.html(); }); }); 如何将动态变量Id传递给视图中的ruby代码?您不能只将变量从javascript代码传递给ruby代码 如果我理解正确,您有两个选择: 当用户单击链接时进行AJAX调用。此调用将在div中呈现“high_chart”方法。因此,您必须创建一个acti

这是我在下拉列表中获取ID的jquery。

$(文档).ready(函数(){
$('installationsDropDown1 li a')。在('click',function()上{
Id=$(this.html();
});
});

如何将动态变量Id传递给视图中的ruby代码?

您不能只将变量从javascript代码传递给ruby代码

如果我理解正确,您有两个选择:

当用户单击链接时进行AJAX调用。此调用将在div中呈现“high_chart”方法。因此,您必须创建一个action和一个js.erb视图。比如:

$("ibox-content.graph").html("<%= high_chart('main-graph', @highchart) %>");
$(“ibox content.graph”).html(“”);
您的@highchart变量将在控制器中使用您将随AJAX调用发送的参数(例如您的ID)进行实例化


另一种方法是在加载页面时用ruby预加载所有图表。然后,您将在JS中管理要显示的内容。

假设这是在服务器上的erb视图中,那么使用jQuery是没有意义的。将jQuery留在客户端,让控制器处理rails服务器上的逻辑

如果这是在客户端,那么erb标记将无法工作,因为这些标记是由服务器呈现的

$("ibox-content.graph").html("<%= high_chart('main-graph', @highchart) %>");