Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.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
Jquery 找不到js.erb视图文件_Jquery_Ruby On Rails - Fatal编程技术网

Jquery 找不到js.erb视图文件

Jquery 找不到js.erb视图文件,jquery,ruby-on-rails,Jquery,Ruby On Rails,我使用此处提供的动态选择菜单的概念: 我已将问题隔离到代码中.post的第一个参数: this.change(function() { $.post("dvbd", that.val(), null, "script"); }); 我希望在父目录中找到dvbd.js.erb文件,并执行其中的jQuery内容。因此,位置将是: http://localhost:3000/parentdir/dvbd.js.erb 相反,我得到一个404错误,位置“http://localho

我使用此处提供的动态选择菜单的概念:

我已将问题隔离到代码中.post的第一个参数:

  this.change(function() {
    $.post("dvbd", that.val(), null, "script");
  });
我希望在父目录中找到dvbd.js.erb文件,并执行其中的jQuery内容。因此,位置将是:

http://localhost:3000/parentdir/dvbd.js.erb
相反,我得到一个404错误,位置“
http://localhost:3000/parentdir/dvbd
找不到。”因此,我甚至没有特意检查javascript是否正在实际执行,因为它所在的文件从未找到。但是,我很确定它是有效的,因为在本地文件中放入相同的代码会成功执行在Dave div中放入“Hello”:

$("#dave").html('Hello');

我不能将代码放在本地文件中,因为这不是我实际要运行的代码。但由于此操作首先失败,因此必须首先解决此问题。

位置将与描述的不同。地点为:

http://localhost:3000/parentdir/dvbd
在控制器(parentdir)和方法dvbd中,您需要添加:

  respond_to do |format|
    format.js
  end

无论如何-问题是您没有在控制器中定义方法dvdb

您有处理dvdb.js.erb的路由和控制器吗?我错过了路由。谢谢提醒。它实际上已经在控制器中了,所以不是这样。但是谢谢你的建议。