[英]How to use variables from javascript in ruby?
在我的edit.html.erb中,我使用了一些混合了一些ruby代码的javascript:
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 ) %>
}
}
}
但我总是得到以下错误:
未定义的局部变量或方法`sel'用于#<#:0x3f90ee8>
这是因为我正试图从我的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
});
}
}
然后在您的假日控制器中设置您的路线:
def create
render json: RHoliday.find_or_create(holiday_id: params[:holiday_id].to_s, group_id: params[:group_id].to_s)
end
不建议您使用这个确切的代码,但它为您提供了一个起点
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.