如何在ruby中使用javascript中的变量?
在我的edit.html.erb中,我使用了一些javascript和一些ruby代码:如何在ruby中使用javascript中的变量?,javascript,ruby-on-rails,variables,Javascript,Ruby On Rails,Variables,在我的edit.html.erb中,我使用了一些javascript和一些ruby代码: var sel = document.getElementById("right").; var len = sel.options.length; var str = ""; for (var i = 0; i < len; i++) { if(sel.options[i].select
var sel = document.getElementById("right").;
var len = sel.options.length;
var str = "";
for (var i = 0; i < len; i++)
{
if(sel.options[i].selected)
{
<% RHoliday.find_or_create(holiday_id: sel.options[i].value , group_id: @group.id ) %>
}
}
}
var sel=document.getElementById(“右”)。;
var len=选择选项长度;
var str=“”;
对于(变量i=0;i
但我总是会遇到以下错误:
未定义的局部变量或#
这是因为我试图从javascript访问一个变量。
我的问题是:
有没有办法绕过这个错误?简短的回答:你不能这么做,JavaScript是客户端,Ruby是服务器端 长答覆: 您需要在javascript中进行ajax调用,而不是将ruby显式写入函数中
var sel = document.getElementById("right").;
var len = sel.options.length;
var str = "";
for (var i = 0; i < len; i++)
{
if(sel.options[i].selected)
{
$.ajax("/holiday/create", {holiday_id: sel.options[i].value, group_id: @group.id}).done(function(data){
//do something with data here
});
}
}
不要建议您使用这个确切的代码,但它为您提供了一个起点您在哪里为ID为“正确”的文档赋值?
def create
render json: RHoliday.find_or_create(holiday_id: params[:holiday_id].to_s, group_id: params[:group_id].to_s)
end