簡體   English   中英

Rails:javascript_include_tag:用途廣泛嗎?

[英]Rails: javascript_include_tag :all purpose?

我對Rails和Jquery有問題。 我正在使用AJAX向文章添加評論,而無需重新加載它們。 以下代碼自動包含在我的views / 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" %>

一切似乎都正常,直到我意識到服務器控制台顯示以下錯誤:

ActionController::RoutingError (No route matches [GET] "assets/all.js")

因此,由於此行似乎沒有將任何內容添加到應用程序,而是錯誤,因此我將其刪除。 下次我啟動服務器並使用該應用程序時,突然將每個注釋發布兩次! 否則,一切仍然正常。 所以我再次添加了刪除的行,我不知道為什么,但是當我添加行時

<%= javascript_include_tag :all %>

一切都再次正常,只有一個評論按預期發布。 但是我不想將此保留在代碼中,因為它會引發錯誤。 有人可以解釋這種現象並告訴我如何解決嗎?

Rails 3.1使用鏈輪來捆綁javascript和css文件。 這使得:all選項被棄用。 鏈輪使用“魔術”注釋來管理其中包含的JavaScript。

因此,您的application.js應該看起來像這樣:

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_tree .

第一行還包括jQuery本身,因此您不需要其他腳本標簽。 您需要做的只是指向應用程序。

<%= javascript_include_tag "application" %>

如果要部署到生產環境,則需要運行rake assets:precompile

資產上有一個Railscasts插曲 ,這是必須看到的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM