Rails 3项目,安装了jquery-rails gem,但得到"Ajax没有定义"

rog*_*rkk 1 ruby-on-rails ruby-on-rails-3

我是一个铁杆新手试图遵循如何执行一些Ajax调用(切换到jQuery后),但我遇到了一个问题.

每当我触发ajax代码(new Ajax.Request())时,我都会在firebug中得到"Ajax is not defined".有比我更多技能的人都知道这里有什么?

更新:

对于其他任何有此问题的人来说,生成上述代码的代码是对它的调用 remote_function()


我做了什么来设置:

  1. 在我的gemfile中添加了"gem'jquery-rails','> = 1.0.12'",并运行bundle install
  2. 运行rails生成jquery:install

我的public/javascripts /文件夹因此具有以下文件:

  • 的application.js
  • jquery.min.js
  • jQuery的ui.min.js
  • 的jquery.js
  • jQuery的ui.js
  • jquery_ujs.js

我的HTML中包含的脚本如下所示:

<script src="/javascripts/jquery.js?1312911234" type="text/javascript"></script>
<script src="/javascripts/jquery-ui.js?1312911234" type="text/javascript"></script>
<script src="/javascripts/jquery_ujs.js?1312911234" type="text/javascript"></script>
<script src="/javascripts/application.js?1312911234" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

mu *_*ort 5

我猜你的教程使用Prototype就像Ajax.RequestPrototype一样,你应该使用$.ajaxjQuery.切换到基于jQuery的教程也可能是一个好主意.

你说你正在使用,remote_function但那是Prototype特定的:

用法
为了能够使用这些帮助程序,您必须首先在页面中包含Prototype JavaScript框架.

Prototype曾经是Rails的默认JavaScript库,所以我怀疑PrototypeHelper是一个剩余的.您可能希望查看新代码的:remote选项link_to和类似内容.