我正在通过railscasts136 revise jquery和ajax学习jquery和ajax。我花了4个多小时仍然无法使第一步起作用。
问题是我将remote: true
添加为数据属性并在app/view/task
下new.js.erb
.但是,它永远不会触发 ajax 调用。它只是重定向到新页面。
因为它真的很简单。我创建公共存储库。这里
然后,经过几个小时的研究,我发现jQuery没有被加载。因为,我添加了
debugger
if (jQuery) {
alert('Jquery is loaded')
} else {
alert ('Jquery is not loaded')
}
你也可以在github存储库中找到它。我也读了这个话题,也尝试切换ujs
和jquery
//= require jquery
//= require jquery_ujs
//= require_tree .
或css
和js
.
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
自:
<%= javascript_include_tag "application" %>
<%= stylesheet_link_tag "application", :media => "all" %>
什么都没用。
我想知道,jquery-rails是如何工作的。为什么没有错误,它只是无法加载jQuery?
我尝试将 rails 版本 3.2.8 升级到 3.2.15,结果证明可以工作。还是想知道原因。
有线问题,想找出原因。谢谢
每条评论:问题似乎出在捆绑包本身。
3.2.8 上的 Github 存储库工作正常。
克隆并运行捆绑包安装,将显示加载 jquery 的通知,并且 new 正在按预期以 js 而不是 html 处理,并且表单正在添加到页面而无需重新加载。
另外,根据@house9评论,请记住将所有rails 3.2应用程序更新到至少3.2.14以修复主要安全漏洞。