Rails:javascript\u include\u标记:通用?

Rails:javascript\u include\u标记:通用?,javascript,jquery,ruby-on-rails,ajax,include,Javascript,Jquery,Ruby On Rails,Ajax,Include,我对Rails和Jquery有问题。我正在使用AJAX向文章中添加注释,而无需重新加载它们。以下代码自动包含在my View/application.html中: <%= javascript_include_tag "application" %> <%= javascript_include_tag :all %> <%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jqu

我对Rails和Jquery有问题。我正在使用AJAX向文章中添加注释,而无需重新加载它们。以下代码自动包含在my View/application.html中:

  <%= javascript_include_tag "application" %>
  <%= javascript_include_tag :all %>
  <%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" %>
  <%= javascript_include_tag  "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" %>
因此,由于这一行除了一个错误之外似乎没有向应用程序添加任何内容,所以我将其删除。下一次我启动服务器并使用应用程序时,所有评论都会被发布两次!?否则一切都很好。所以我再次添加了删除的行,我不知道为什么,但当我添加行时

<%= javascript_include_tag :all %>


同样,一切正常,只有一条评论按预期发布。但是我不想把它保留在代码中,因为它会抛出一个错误。有人能解释一下这种行为并告诉我如何修复吗?

Rails 3.1使用链轮绑定javascript和css文件。这使得
:all
选项不推荐使用。链轮使用“神奇”注释来管理包含哪些Java脚本

因此,您的
application.js
应该如下所示:

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree .
第一行还包括jQuery本身,因此不需要其他脚本标记。您只需指向应用程序

<%= javascript_include_tag "application" %>

如果要部署到生产环境,则需要运行
rake资产:precompile


有一个关于资产的网站,这是必看的。

Rails的版本是什么?2.3或3.0或3.1?请注意,Rails从3.1开始就使用资产管道管理资产。默认application.js默认包含jquery和jquery RJ。但是路由错误似乎很奇怪:(我有rails(3.1.0)。那么我应该删除除“application”之外的所有内容吗?但是在我的application.js中,所有内容都被注释掉了。。?
<%= javascript_include_tag "application" %>