Javascript jQuery';s getScript函数可以';在Rails中找不到my.js.erb模板

Javascript jQuery';s getScript函数可以';在Rails中找不到my.js.erb模板,javascript,jquery,ajax,ruby-on-rails-3,ruby-on-rails-3.1,Javascript,Jquery,Ajax,Ruby On Rails 3,Ruby On Rails 3.1,代码段中的第3行导致以下错误: ActionController::RoutingError(没有与[GET]匹配的路由“/labs/index.js.erb”)。 我运行的是Rails 3.1,这意味着jQuery是默认的。我三次检查“index.js.erb”文件是否确实存在。jQuery似乎看不到它。您可能不想要原始的ERB版本(客户端没有任何东西知道如何处理它),而且脚本可能在Rails 3.1的/assets中,因此请尝试以下其中一种: $(function() { $("#ll_

代码段中的第3行导致以下错误:

ActionController::RoutingError(没有与[GET]匹配的路由“/labs/index.js.erb”)。


我运行的是Rails 3.1,这意味着jQuery是默认的。我三次检查“index.js.erb”文件是否确实存在。jQuery似乎看不到它。

您可能不想要原始的ERB版本(客户端没有任何东西知道如何处理它),而且脚本可能在Rails 3.1的
/assets
中,因此请尝试以下其中一种:

$(function() {
  $("#ll_search").submit(function() {
    $.getScript(document.location.pathname + '/index.js.erb');
    return false;
  });
});

不过我在猜测事情的位置。

记住
document.location.pathname
将为您提供一个根级别的路径,在Rails中(默认情况下)它将带您到公共目录(除非存在相应的路由)。如果需要在请求时呈现此js文件(就性能而言不推荐),请创建一个端点来呈现js并以正确的MIME类型适当地返回它

$.getScript('/labs/index.js');
$.getScript('/assets/labs/index.js');
$.getScript('/assets/index.js');