Rails應用程序包含了兩次我的問題是類似於此的一些其他問題仍然沒有我的情況jQuery是在在Heroku
我包括jQuery的寶石鑲嵌在我的應用程序中的Gemfile提供一個答案:
gem 'jquery-rails'
而且在application.js中:
//= require jquery
//= require jquery-ui
//= require jquery_ujs
...
//= require_tree .
我development.rb有
# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true
我的資產沒有預編譯,沒有公共/資產。 本地一切都運行良好。但是當我推送到heroku時,我在頁面上獲得了不同的application.js文件。它不是一個清單文件,而是縮小了jQuery的版本。所以我得到了兩次jQuery。這裏是我的網頁的源的樣子:
<script src="/assets/jquery.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery-ui.js?body=1" type="text/javascript"></script>
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script>
...
<script src="/assets/application.js?body=1" type="text/javascript"></script>
當我點擊/assets/application.js?body=1
我看精縮jQuery的。當我在本地運行我的應用並單擊/assets/application.js?body=1
時,我只能看到清單。 我試圖添加到development.rb
config.serve_static_assets = false
它沒有幫助。我也清理了資產和緩存多次。 爲我的作品的唯一的事情是設置
config.assets.debug = false
但我想知道是否有不會影響調試任何其他選項。
當您部署到Heroku時,您的應用將使用'production.rb'配置而不是'development.rb'。 – jakeonrails
我們在Heroku上爲同一個應用程序提供了多種環境。我最初沒有設置它,但我非常確定應用程序在開發模式下運行。在日誌中我看到'用命令啓動進程'bundle exec thin start -R config.ru -e development -p 59152' – lanan
嗯..這可能不是設置它的首選方式 - 如果你鍵入heroku config你'你會看到你的RAILS_ENV和RACK_ENV變量,它會說'開發/生產/登臺/測試'等。 然後在你的Procfile中,你可以編輯你的web進程的行來說'web:bundle exec thin start -p $ PORT '它將使用RAILS/RACK_ENV來確定要運行哪個環境。 – jakeonrails