Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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
将数据从javascript传递到.erb_Javascript_Ruby On Rails - Fatal编程技术网

将数据从javascript传递到.erb

将数据从javascript传递到.erb,javascript,ruby-on-rails,Javascript,Ruby On Rails,我想知道这是否可行。我有一些javascript代码,它根据Rails 2.3.17应用程序中的信息呈现页面。这段代码是继承的,不是我自己的。问题是,我试图从服务器获取关于运行时不知道的对象的数据。基本上,我正在尝试这样做: var record_id = 73; if(<%= DataTable.find(record_id).value_of_record.nil? %>{ ... }else{ ... var记录\u id=73; 如果({ ... }否则{

我想知道这是否可行。我有一些javascript代码,它根据Rails 2.3.17应用程序中的信息呈现页面。这段代码是继承的,不是我自己的。问题是,我试图从服务器获取关于运行时不知道的对象的数据。基本上,我正在尝试这样做:

var record_id = 73; 
if(<%= DataTable.find(record_id).value_of_record.nil? %>{
    ...
}else{
    ...
var记录\u id=73;
如果({
...
}否则{
...

其中记录id是我希望在运行时用javascript传递到.erb选择中的内容。这可能吗。如果不可能,我有没有办法从javascript调用信息以获得在.erb文件中传递的记录id?id当前存储在html文档中。

正如Yoshiji先生所说,您可以使用ruby inste所以你可以这样做:

var record_id = <%= record_id = 5 %>; 
if(<%= DataTable.find(record_id).value_of_record.nil? %>{
    ...
}else{
    ...
var记录_id=;
如果({
...
}否则{
...

在ruby中初始化一个变量将返回值,因此它将变为刚好
var record\u id=73;
,并且ruby变量现在可用于find方法。

不,这是不可能的。您可以将ruby变量传递给Javascript,但反过来不能这样做。您需要Ajax(使用record_id向服务器发出请求,并在那里进行ruby rails检查,然后将答案发送回javascript)。我现在正在尝试。你知道如何使用prototype.js返回查询结果吗?这显然是他们正在使用的,我不知道查询字符串的正确语法。Arf我不太了解prototype.js…你的应用程序中有jQuery吗?你使用的Rails版本是什么?我使用的是Rails 2.3.11。应用程序使用的是prototype.js独占。它有点旧。这有助于: