将ruby变量传递给javascript(Ruby on Rails)

我有一份药物清单和一份疫苗清单,我分别从药品和疫苗中提取。 药物清单的格式为medicine_name,疫苗列表也是如此。 我使用这段代码将这两个存储在变量中。

var injections=; var medicines=; 

在我看来,我有药物和注射的选择标签,但是当我尝试使用以下代码将这些变量附加到相应的标签时。 我没有得到任何结果请帮忙

 $('.addmedicines').click(function() $('.medicines').append(medicines); }); $('.addinjections').click(function(){ $('.injections').append(injections); }); 

这里.injections是指定用于接种疫苗标签的类。 .medicines是指定用于选择药物标签的类。 而.addmedicines和.addinjections是html按钮。

编辑:

当我尝试在javascript中显示注射和药物时,它们显示如下:

药物:

 Med1Med2Med3Med4 

注射:

 i1i2i3i4 

 var injections= '<%=@injections%>'; var medicines='<%=@medicines%>'; 

你可以使用Rails helper array_or_string_for_javascript ,或者只是简单地调用to_json

 var injections = <%= array_or_string_for_javascript(@injections) %>; var medicines = <%= array_or_string_for_javascript(@medicines) %>; // OR var injections = <%= @injections.to_json %>; var medicines = <%= @medicines.to_json %>; 

你错过了{在第一个function之后

应该:

 $('.addmedicines').click(function(){ // <-- right here :) $('.medicines').append(medicines); }); $('.addinjections').click(function(){ $('.injections').append(injections); }); 

你有什么:

 $('.addmedicines').click(function() // <-- right here :) $('.medicines').append(medicines); }); $('.addinjections').click(function(){ $('.injections').append(injections); });