2012-11-08 29 views
0

我正在將應用程序從Rails 2移動到Rails 3.我在應用程序中有一堆JavaScript文件,其中大部分是用於使用Google Maps的。以前,我的JS文件是public/javascripts/*。js。我注意到他們沒有被任何使用javascript_include_tag的頁面加載,JavaScript_include_tag寫入試圖從/assets/*.js加載JS文件的JavaScript標記。 (例如/assets/application.js)。如何爲JavaScript開發配置Rails 3

我讀過Rails 3期望JS文件位於app/assets/javascripts/*。js中。所以我把我的JS文件移動到了那裏,但是它們仍然不能在/assets/application.js訪問,除非我運行bundle exec rake資源:首先編譯

我不能讓我的JS開發週期是:

  1. 作任何改動JS
  2. 運行捆綁高管耙資產:預編譯
  3. 刷新瀏覽器

那只是太長。 我的問題是如何配置我的應用程序,以便開發週期如下?

  1. 作任何改動JS
  2. 刷新瀏覽器

到目前爲止,我已經試過:

  • 啓用,上面寫着「Bundler.require(行:默認情況下,:資產, Rails.env)「in config/application.rb
  • 在config/application.r中設置config.assets.enabled = false(和true) b

在此先感謝。

+0

你有config.assets.compress = false在development.rb? –

+0

是的,config.assets.compress在development.rb中爲false。 – antun

+0

試圖消除這裏的東西 - 你的佈局中是否有<%= javascript_include_tag「應用程序」%>? –

回答

1

Rails資產管道應與清單文件一起使用。這允許Rails在生產中連接所有JavaScript。爲了做到這一點,你應該有一個類似於application.js的文件。

//= require jquery 
//= require jquery_ujs 
//= require_tree . 

這裏的重要部分是require_tree部分。這告訴Rails將所有其他JavaScript文件包含在同一個文件夾中。這意味着您希望清單版本的application.js和所有自定義JavaScript文件都位於app/assets/javascripts中。

一個很好的指南,用於轉換到從軌道2資產管道可以在這個RailsCast發現:http://railscasts.com/episodes/282-upgrading-to-rails-3-1

+0

我的application.js中有這些行。但是,這仍然不能讓我修改JS文件並在刷新瀏覽器後立即看到結果。另外,請注意在這個階段,我只在開發中而不是在生產中。 – antun

0

最近我有這個問題

更改文件的config /環境/ development.rb config.assets.digest = false 那麼工作

相關問題