提问人:Mark Fraser 提问时间:11/22/2010 更新时间:3/15/2011 访问量:1067
Rails 3 中 jQuery 的 AJAX 和 UJS 问题
Problem with AJAX and UJS with jQuery in Rails 3
问:
我正在尝试按照以下教程进行操作:
和 railscast 在
http://railscasts.com/episodes/205-unobtrusive-javascript
..在这两种情况下,我都遇到了同样的问题。控制器没有呈现 .js 模板(它回退到 .html),因为请求标头没有像它应该的那样请求 javascript。
我正在使用 github 和 jquery 1.4.4 的 jquery ujs
“data-remote=true”属性被提供给表单,就像它应该的那样。但出于某种原因,这不会修改请求。
如果我切换到 prototype.js,它可以工作(使用默认的 prototype.js 和来自 rails 的 rails.js)。
我正在使用 rails 3.0.0
任何建议都值得赞赏。
答:
浪费了一天之后...:-(
我发现当你生成一个新的Rails 3应用程序时,会在public/javascripts文件夹中创建一个名为rails.js的文件,以及你在Rails 2项目中看到的所有其他.js文件。
Rails.js 包含所有不显眼的处理程序。默认情况下,Rails 假定您使用的是 Prototype.js 。
对于 Jquery,将文件 rail.js 替换为 https://github.com/rails/jquery-ujs
以下链接帮助了我: http://www.simonecarletti.com/blog/2010/06/unobtrusive-javascript-in-rails-3/
评论
“当前”处理此问题的最佳方法是将这只小狗添加到您的 gemfile 中
https://github.com/indirect/jquery-rails
跑
bundle install
然后
rails generate jquery:install #--ui to enable jQuery UI --version to install specific version of JQuery (default is 1.4.2)
然后你就准备好了 - 当你运行生成器时,它会覆盖默认的 rails.js。
我也有类似的问题。然后,我决定既然问题出在 Ajax 上,我应该从非常简单的事情开始。所以,我从这个开始
评论