jQuery's getScript函数找不到我的.js.Rails中的动词模板
jQuery's getScript function can't find my .js.erb templates in Rails
$(function() {
$("#ll_search").submit(function() {
$.getScript(document.location.pathname + '/index.js.erb');
return false;
});
});
代码片段中的第3行导致以下错误:
ActionController::RoutingError (No route matches [GET] "/labs/index.js.erb").
我正在运行Rails 3.1,这意味着jQuery是默认的。我反复检查了一个文件"index.js. js"。"Erb"确实存在。jQuery似乎看不到它
请记住,document.location.pathname
将为您提供根级路径,这将(默认情况下)在Rails中将您带到公共目录(除非存在相应的路由)。如果你需要在请求时呈现这个js文件(就性能而言不推荐),创建一个端点来呈现js并使用正确的MIME类型适当地返回它。
你可能不想要原始的ERB版本(没有在客户端会知道如何处理它)和脚本可能是在/assets
在Rails 3.1所以尝试这些之一:
$.getScript('/labs/index.js');
$.getScript('/assets/labs/index.js');
$.getScript('/assets/index.js');
我猜了一下东西在哪里。
相关文章:
- Rails/JS-在不刷新页面的情况下获取变量
- Rails js.erb文件未执行
- Ruby Rails - JS - 停止AJAX中以前的脚本
- Rails + JS + Ajax request
- RequireJS - 打包与主干相关的模块,以便在其他 Rails/JS 应用程序中重用
- 获取上传过程RAILS/JS
- Rails js在清除之前的模板后呈现部分
- Flash消息-如何正确显示-RAILS/JS
- Turbolinks或我可能缺少的其他rails js文件
- Rails-js中的Asset_path,变量为possible
- Ruby on Rails js is broken
- Rails js.动词文件找不到方法“渲染”
- Rails,JS:使.each函数生成的面板独立切换
- 404上的rails js调用,可能不正确的路由定义
- 加载时触发Rails JS委托事件
- Rails / JS - G+登录按钮只在页面重新加载后在某些情况下工作
- Laravel 5.2 with rails.js - DELETE throws TokenMismatchExcep
- Rails js.动词文件和追加
- rails.js's purpose
- 使用Rails JS模板的正确方法是什么?