首页 > 解决方案 > 从 Cedar14 到 heroku18 的 Ruby 更新堆栈

问题描述

我最近将我的 ruby​​ heroku 应用程序从 stack cedar14 更新到 heroku18,但我遇到了我无法识别的问题。我是 ruby​​ 应用程序的初学者,我完全迷路了。我的主页显示过滤器,由于我更改了堆栈应用程序,我没有成功显示它们。

这里是 cedar14 App 中的生产应用程序,带有过滤器

这里是 Heroku18 App 中的预生产应用程序,没有过滤器

我在日志中没有任何错误:2020-03-30T13:06:34.534548+00:00 app[web.1]: Started GET "/filters" for 87.231.123.63 at 2020-03-30 13:06: 34 +0000

2020-03-30T13:06:34.535709+00:00 app[web.1]:FiltersController#getallfilters 作为 JSON 处理

2020-03-30T13:06:34.582362+00:00 app[web.1]:在 2020-03-30 13:06:34 +0000 开始为 87.231.123.63 获取“/images/spie.svg”

2020-03-30T13:06:34.584035+00:00 应用程序 [web.1]:在 2020-03-30 13:06:34 +00 开始获取 87.231.123.63 的“/images/spinner-57f23599cb45c2f22942f6157e01715a.gif”

2020-03-30T13:06:34.586593+00:00 app[web.1]:在 2020-03-30 13:06:34 + 开始获取 87.231.123.63 的“/assets/fonts/DINPro-Regular_13937.woff” 0000

2020-03-30T13:06:34.590706+00:00 heroku[路由器]: at=info method=GET path="/images/spie.svg" host=spie-refcom-preprod.herokuapp.com request_id=98860672-df27 -4df1-8bef-c9dc126a21b3 fwd="87.231.123.63" dyno=web.1 connect=0ms service=3ms status=304 bytes=160 protocol=https

2020-03-30T13:06:34.594801+00:00 heroku[路由器]: at=info method=GET path="/assets/fonts/DINPro-Regular_13937.woff" host=spie-refcom-preprod.herokuapp.com request_id =21630fcf-1d62-450c-8883-759f5222df62 fwd="87.231.123.63" dyno=web.1 connect=0ms service=2ms status=304 bytes=160 protocol=https

2020-03-30T13:06:34.675533+00:00 heroku[路由器]: at=info method=GET path="/favicon.ico" host=spie-refcom-preprod.herokuapp.com request_id=a5636f66-ff00-47a6 -9461-8da7a764e097 fwd="87.231.123.63" dyno=web.1 connect=0ms service=1ms status=200 bytes=143 protocol=https

2020-03-30T13:06:34.591020+00:00 heroku[路由器]: at=info method=GET path="/images/spinner-57f23599cb45c2f22942f6157e01715a.gif" host=spie-refcom-preprod.herokuapp.com request_id=15f55626 -d47d-40ba-a4b7-b4bf808b528e fwd="87.231.123.63" dyno=web.1 connect=0ms service=3ms status=304 bytes=160 protocol=https

2020-03-30T13:06:44.547528+00:00 app[web.1]:读取片段视图/spie-refcom-preprod.herokuapp.com/filters.json (10010.8ms)

2020-03-30T13:06:44.547621+00:00 应用 [web.1]:在 geAllFilters 上

2020-03-30T13:06:45.438362+00:00 app[web.1]: &&&&&&&& 推送 1

2020-03-30T13:06:45.624412+00:00 app[web.1]: &&&&&&&& 后推 2

2020-03-30T13:06:45.796600+00:00 app[web.1]: &&&&&&&& 后推 3

2020-03-30T13:06:46.104284+00:00 app[web.1]: &&&&&&&& 后推 4

2020-03-30T13:06:46.457596+00:00 app[web.1]: &&&&&&&& 推送 5 后

2020-03-30T13:06:46.890757+00:00 app[web.1]: &&&&&&&& 后推 6

2020-03-30T13:06:47.848542+00:00 app[web.1]: &&&&&&&& 后推 7

2020-03-30T13:06:48.225331+00:00 app[web.1]: &&&&&&&& 后推 8

2020-03-30T13:06:48.225346+00:00 app[web.1]: &&&&&&&& 后推 9

2020-03-30T13:06:48.609348+00:00 app[web.1]: &&&&&&&& 推送 10 后

2020-03-30T13:06:48.993956+00:00 app[web.1]: &&&&&&&& 推送 11 后

2020-03-30T13:06:49.360942+00:00 app[web.1]: &&&&&&&& 推送 12 后

2020-03-30T13:06:49.722752+00:00 app[web.1]: &&&&&&&& 推送 13 后

2020-03-30T13:06:50.147104+00:00 app[web.1]: &&&&&&&& 推送 14 后

2020-03-30T13:06:50.646333+00:00 app[web.1]: &&&&&&&& 推送 15 后

2020-03-30T13:06:51.193571+00:00 app[web.1]: &&&&&&&& 推送 16 后

2020-03-30T13:06:51.492277+00:00 app[web.1]: &&&&&&&& 推送 17 后

2020-03-30T13:06:51.819438+00:00 app[web.1]: &&&&&&&& 推送 18 后

2020-03-30T13:06:52.138349+00:00 app[web.1]: &&&&&&&& 推送 19 后

2020-03-30T13:06:52.437847+00:00 app[web.1]: &&&&&&&& 推送 20 后

2020-03-30T13:06:52.774590+00:00 app[web.1]: &&&&&&&& 推送 21 后

2020-03-30T13:06:52.774598+00:00 app[web.1]: &&&&&&&& 推送 22 后

2020-03-30T13:06:52.774599+00:00 应用程序 [web.1]: &&&&&&&& END RENDER

2020-03-30T13:06:52.774625+00:00 app[web.1]: {"id"=>"1", "name"=>"subsidiary", "className"=>"subsidiary", "choices "=>["BU0007"、"BUSUK"、"BUSOGS"、"BUSBEL"、"BUSNL"、"BUSICS"、"BUSHQ"、"BUOTHER"、"BUSCH"、"BU0041"、"BU0042"、"BU0020 ", "BUDZE", "BU0063", "BU0064", "BU0065", "BU0066"], "needTranslation"=>true}

2020-03-30T13:06:52.774630+00:00 app[web.1]: {"id"=>"2", "name"=>"customer", "className"=>"subsidiary", "choices "=>[], "需要翻译"=>假}

2020-03-30T13:06:52.774633+00:00 app[web.1]: {"id"=>"3", "name"=>"location", "className"=>"subsidiary", "choices "=>[], "需要翻译"=>假}

2020-03-30T13:06:52.774677+00:00 app[web.1]: {"id"=>"4", "name"=>"client_sector", "className"=>"subsidiary", "choices "=>["C01", "C02", "C03", "C04", "C05", "C06"], "needTranslation"=>true}

2020-03-30T13:06:52.774679+00:00 app[web.1]: {"id"=>"5", "name"=>"activity", "className"=>"subsidiary", "choices" "=>["E1", "E2", "E3"], "needTranslation"=>true}

2020-03-30T13:06:52.774718+00:00 app[web.1]: {"id"=>"6", "name"=>"skill", "className"=>"subsidiary", "choices “=>[“E11”、“E12”、“E13”、“E41”、“E42”、“E43”、“E44”、“E45”、“E61”、“E62”、“E63”、“E64” ", "E65", "E66"], "needTranslation"=>true}

2020-03-30T13:06:52.774744+00:00 app[web.1]: {"id"=>"7", "name"=>"amount", "className"=>"subsidiary", "choices "=>["<= 100 K€", "100 K€ - 500 K€", "500 K€ - 1 M€", "1 M€ - 3 M€", "3 M€ - 5 M€ ", "500 万欧元 - 1000 万欧元", "1000 万欧元 - 2000 万欧元", ">2000 万欧元"], "needTranslation"=>true}

2020-03-30T13:06:52.774764+00:00 app[web.1]: {"id"=>"8", "name"=>"duration_range", "className"=>"subsidiary", "choices "=>["< 1", "1 - 3", "3 - 5", "> 5"], "needTranslation"=>false}

2020-03-30T13:06:52.774766+00:00 app[web.1]: {"id"=>"9", "name"=>"period_start_end_contract", "className"=>"subsidiary", "choices "=>[], "需要翻译"=>假}

2020-03-30T13:06:52.774827+00:00 app[web.1]: {"id"=>"10", "name"=>"sector_public_private", "className"=>"subsidiary", "choices "=>["0", "-1"], "needTranslation"=>true}

2020-03-30T13:06:52.774828+00:00 app[web.1]: {"id"=>"11", "name"=>"account_type", "className"=>"subsidiary", "choices "=>["CL01"、"CL02"、"CL03"、"CL04"、"CL05"、"CL06"、"CL07"、"CL08"、"CL09"、"CL10"]、"需要翻译"=>真的}

2020-03-30T13:06:52.774833+00:00 app[web.1]: {"id"=>"12", "name"=>"contract_type", "className"=>"subsidiary", "choices "=>["TC01", "TC02", "TC03", "TC04", "TC05"], "needTranslation"=>true}

2020-03-30T13:06:52.774854+00:00 app[web.1]: {"id"=>"13", "name"=>"phase", "className"=>"subsidiary", "choices" "=>["UP0", "MI0", "DS0"], "needTranslation"=>true}

2020-03-30T13:06:52.774857+00:00 app[web.1]: {"id"=>"14", "name"=>"service_line", "className"=>"subsidiary", "choices "=>["AS0", "WS0", "CD0", "EP0"], "needTranslation"=>true}

2020-03-30T13:06:52.774917+00:00 app[web.1]: {"id"=>"15", "name"=>"prestation", "className"=>"subsidiary", "choices "=>["AS01"、"AS02"、"AS03"、"AS04"、"AS05"、"AS06"、"AS07"、"AS08"、"WS01"、"WS02"、"WS03"、"WS04 ”、“WS05”、“WS06”、“CD01”、“CD02”、“CD03”、“CD04”、“EP01”、“EP02”、“EP03”、“EP04”、“EP05”、“EP06”、 "EP07", "EP08"], "needTranslation"=>true}

2020-03-30T13:06:52.774922+00:00 app[web.1]: {"id"=>"16", "name"=>"detail_phase", "className"=>"subsidiary", "choices "=>["UP01"、"UP02"、"MI01"、"MI02"、"DS01"、"DS02"、"DS03"、"DS04"、"DS05"、"DS06"、"DS07"、"DS08 ", "DS09"], "需要翻译"=>true}

2020-03-30T13:06:52.774969+00:00 app[web.1]: {"id"=>"17", "name"=>"perimeter", "className"=>"subsidiary", "choices "=>["AUT01", "BI", "DC", "ENVUSR", "IP", "UCC"], "needTranslation"=>true}

2020-03-30T13:06:52.774991+00:00 app[web.1]: {"id"=>"18", "name"=>"techno_category", "className"=>"subsidiary", "choices "=>["AUT01"、"BI1"、"BI2"、"DC1"、"DC2"、"DC3"、"IP1"、"IP2"、"SEC"、"UCC1"、"UCC2"、"UCC3" "], "需要翻译"=>true}

2020-03-30T13:06:52.775006+00:00 app[web.1]: {"id"=>"19", "name"=>"das_service", "className"=>"subsidiary", "choices "=>["CONSEIL & INGENIERIE", "INFOGERANCE", "SERVICES OPERES & CLOUD", "AUTRES SERVICES"], "needTranslation"=>true}

2020-03-30T13:06:52.775044+00:00 app[web.1]: {"id"=>"20", "name"=>"service_category", "className"=>"subsidiary", "choices "=>["AUTRES SERVICES"、"CONSEIL& ARCHITECTURE"、"INFOGERANCE INFRA"、"INFOGERANCE UTILISATEURS"、"INGENIERIE PROJET"、"维护"、"SERVICES MANAGES、HEBERGES、云"、"SERVICES OPERATEUR"、"DEP" , "INFOG5"], "needTranslation"=>true}

2020-03-30T13:06:52.775048+00:00 app[web.1]: {"id"=>"21", "name"=>"strategic_activity_domain", "className"=>"subsidiary", "choices "=>["TN", "TSE", "M", "DEM"], "needTranslation"=>true} 2020-03-30T13:06:52.775074+00:00 app[web.1]: {" id"=>"22", "name"=>"certificate_ability", "className"=>"subsidiary", "choices"=>["true", "false"], "needTranslation"=>true}

2020-03-30T13:06:52.787817+00:00 app[web.1]: [active_model_serializers] 使用 ActiveModelSerializers::Adapter::JsonApi 渲染 ActiveModel::Serializer::CollectionSerializer (11.09ms) 2020-03-30T13:07 :02.799924+00:00 app[web.1]: 写片段视图/spie-refcom-preprod.herokuapp.com/filters.json (10011.6ms)

2020-03-30T13:07:02.800227+00:00 app[web.1]:在 28264 毫秒内完成 200 OK(查看次数:12.2 毫秒)

2020-03-30T13:07:02.810605+00:00 heroku[路由器]: at=info method=GET path="/filters" host=spie-refcom-preprod.herokuapp.com request_id=528f5bf9-d23e-475b-9e0f -f46974406843 fwd="87.231.123.63" dyno=web.1 连接=0ms 服务=28268ms 状态=200 字节=4859 协议=https

2020-03-30T13:06:02+00:00 app[heroku-redis]: source=REDIS addon=redis-flat-8235 sample#active-connections=1 sample#load-avg-1m=0.095 sample#load- avg-5m=0.11 sample#load-avg-15m=0.095 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664264kB sample#memory-free=12345944kB sample#memory-cached=1200884kB sample #memory-redis=308928bytes 样本#hit-rate=0.42857 样本#evicted-keys=0

2020-03-30T13:06:02+00:00 应用程序[heroku-redis]: 源=REDIS 插件=redis-flat-8235 示例#active-connections=1 示例#load-avg-1m=0.18 示例#load- avg-5m=0.115 sample#load-avg-15m=0.095 sample#read-iops=0 sample#write-iops=0 sample#memory-total=15664264kB sample#memory-free=12346192kB sample#memory-cached=1200888kB sample #memory-redis=308928bytes 样本#hit-rate=0.42857 样本#evicted-keys=0

在这里您可以找到应用程序结构:

应用程序

这里的gem文件:

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

gem 'dotenv-rails', :groups => [:development, :test]

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '>= 4.2.5.1'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby 

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

gem 'ember-cli-rails'

gem 'restforce'

gem 'responders'

gem 'active_model_serializers', '~> 0.10.0'

gem 'json'

gem 'actionpack-action_caching'

gem 'redis-rails'

gem 'postmark-rails'

gem 'rack-attack'

gem 'tzinfo-data'

# Cross-Origin Resource Sharing
gem 'rack-cors', :require => 'rack/cors'

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'
  # Use sqlite3 as the database for Active Record
  gem 'sqlite3'
end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'

  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
end

group :production do
  gem 'pg'
  gem 'puma'
end

gem 'rails_12factor', group: [:staging, :production]

有人能帮我吗??我知道这不是一个容易的任务:p!

问候,安托万。

标签: ruby-on-railsrubyherokurubygemsheroku-api

解决方案


推荐阅读