2015-10-08 27 views
1

我有一個傳單地圖在localhost上運行得非常好,但是當推到heroku時,它不會顯示在頁面上。 heroku logs顯示錯誤ActionController::RoutingError (No route matches [GET] "/assets/leaflet_map.js"): 我跑rake assets:precompile。現在,我得到的錯誤信息如(No route matches [GET] "/javascripts/l.geosearch.provider.openstreetmap.js"):。 我真的不知道我到底在做什麼。有人可以請指點我正確的方向嗎? 至於我可以從搜索代碼的相關作品告訴是:部署導軌應用程序到heroku,傳單地圖不加載

production.rb:

config.serve_static_files = false 
config.assets.js_compressor = :uglifier 
config.assets.compile = false 
config.assets.digest = true 

Procfile:

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb 

的application.js:

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

show.html.erb:

<div id="map-leaflet"></div> 
<%= javascript_include_tag "/assets/easy-button" %> 
<%= javascript_include_tag "/assets/leaflet_map" %> 

的Gemfile:

source 'https://rubygems.org' 
ruby '2.0.0' 

gem 'rails', '~> 4.2.0' 
gem 'sprockets' 
gem 'bcrypt',     '3.1.7' 
gem 'faker',     '1.4.2' 
gem 'carrierwave',    '0.10.0' 
gem 'mini_magick',    '3.8.0' 
gem 'fog',      '1.23.0' 
gem 'will_paginate',   '3.0.7' 
gem 'bootstrap-will_paginate', '0.0.10' 
gem 'bootstrap-sass',   '3.3.5.1' 
gem 'sass-rails',    '5.0.0.beta1' 
gem 'uglifier',    '2.5.3' 
gem 'coffee-rails',   '4.0.1' 
gem 'jquery-rails' 
gem 'jquery-ui-rails' 
gem 'jbuilder',    '2.2.3' 
gem 'rails-html-sanitizer', '1.0.1' 
gem 'arel' 
gem 'pry' 
gem 'pry-doc' 
gem 'underscore-rails' 
gem 'gon' 
gem 'autosize',    '~> 1.1.18.4' 
gem 'figaro' 

group :development, :test do 
    gem 'byebug',  '3.4.0' 
    gem 'web-console', '~> 2.0' 
    gem 'spring',  '1.1.3' 
    gem 'pg', '0.17.1' 
    gem 'childprocess', '0.3.6' 
end 

group :test do 
    gem 'factory_girl_rails', '4.2.0' 
    gem 'minitest-reporters', '1.0.5' 
    gem 'mini_backtrace',  '0.1.3' 
    gem 'selenium-webdriver', '2.35.1' 
    gem 'database_cleaner' 
end 

group :doc do 
    gem 'sdoc', '0.4.0', require: false 
end 

group :production do 
    gem 'pg', '0.17.1' 
    gem 'rails_12factor' 
    gem 'unicorn',  '4.8.3' 
end 
+0

嘗試RAILS_ENV =產品包的exec耙資產:預編譯 git的添加公共/資產 git的承諾-m「供應商編制資產」 – ggoha

+0

嘗試過,但一直得到缺少必需參數錯誤消息':aws_access_key_id,aws_secret_access_key'可以和我不解決它。 – Bazley

+0

你能顯示你的整個寶石文件嗎?聽起來好像它想把資產推到S3也許。 – snkashis

回答

0

什麼固定我的問題是從HTTPS> HTTP

我遇到了一個類似的情景切換。在localhost Leaflet上運行並按照預期呈現地圖。然後我凍結一切,推到Heroku,點擊「打開應用程序」和巴姆,沒有地圖渲染。 <div id="map"></div>標籤爲空。 (我沒有任何錯誤消息在Heroku的控制檯不過。

Heroku Launching HTTPS and no Leaflet Map Renders

默認的Heroku希望加載 「HTTPS」。這就是問題所在。您的本地主機可能不使用SSL層(HTTPS),因此一切都按預期工作,但並非所有的映射API都支持SSL層(HTTPS)。例如,OpenStreetMap本身不支持API v0.6 。

Manually Changing the URI From HTTPS to HTTP and the Leaflet Map Renders

所以只是從https更改URI://到http://允許從OpenStreetMap.org被拉到我的地圖上正確顯示。我希望這可以幫助你的情況!

相關問題