2015-10-08 28 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被拉到我的地图上正确显示。我希望这可以帮助你的情况!

相关问题