首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bonsai-Elasticsearch在Heroku产品中崩溃URI::InvalidURIError

Bonsai-Elasticsearch在Heroku产品中崩溃URI::InvalidURIError
EN

Stack Overflow用户
提问于 2016-09-13 04:44:54
回答 1查看 148关注 0票数 0

我终于让elasticsearch不会让我的应用程序在启动时崩溃,然而,每当我试图搜索应用程序崩溃时,它都会崩溃,并添加新的记录使应用程序崩溃(但记录确实会被添加)。

我得到的错误消息是:

代码语言:javascript
复制
 Professor Store (0.9ms)  {"id":59,"exception":["URI::InvalidURIError","bad URI(is not URI?): http://heroku config:0"]}
2016-09-12T16:48:34.008480+00:00 app[web.1]: Completed 500 Internal Server Error in 14ms (Searchkick: 0.9ms | ActiveRecord: 7.6ms | Elasticsearch: 0.0ms)
2016-09-12T16:48:34.009289+00:00 app[web.1]: 
2016-09-12T16:48:34.009290+00:00 app[web.1]: URI::InvalidURIError (bad URI(is not URI?): http://heroku config:0):
2016-09-12T16:48:34.009291+00:00 app[web.1]:   app/controllers/professors_controller.rb:51:in `block in create'
2016-09-12T16:48:34.009291+00:00 app[web.1]:   app/controllers/professors_controller.rb:50:in `create'

我不确定URI::InvalidURIError (bad URI(is not URI?): http://heroku config:0):出了什么问题,我已经经历了所有的here,我看过这个on the URI error,我的应用程序仍然因为同样的原因崩溃。

我的Bonsai.rb看起来是这样的:`BONSAI_URL =ENV‘’beech 6556653.us-Bonsai.rb-1.bonsai.io‘

代码语言:javascript
复制
if BONSAI_URL
  uri = URI.parse(ENV['beech-6556653.us-east-1.bonsai.io'])
Searchkick.client = Elasticsearch::Client.new({
  url:BONSAI_URL,
  log: true
  })
end

我的Professor.rb模型有搜索引擎:

代码语言:javascript
复制
class Professor < ActiveRecord::Base
  searchkick
  belongs_to :user
  has_many :reviews

最后是我的gemfile:

代码语言:javascript
复制
 source 'https://rubygems.org'
ruby '2.3.1'
    # 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'
    #bcrypt for for encrpytion
    gem 'bcrypt', '~> 3.1', '>= 3.1.11'
    #byebug
    gem 'byebug', '~> 9.0', '>= 9.0.5'
    # 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
    #paperclip for easy upload management
    gem 'paperclip', '~> 4.3', '>= 4.3.6'
    #bootstrap-sass
    gem 'bootstrap-sass', '~> 3.3', '>= 3.3.6'
    #searchkick
    gem 'searchkick', '~> 1.2', '>= 1.2.1'
    #paginate
    gem 'will_paginate', '~> 3.1'
    #paginate for bootstrap
    gem 'bootstrap-will_paginate', '~> 0.0.10'
    #rmagick
    gem 'rmagick', '~> 2.15', '>= 2.15.4'
    #Carrierwave
    gem 'carrierwave'
    #Cloudinary
    gem 'cloudinary'
    #Paperclip forcloudinary
    gem 'paperclip-cloudinary'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-13 04:52:38

这一行是不必要的:

uri = URI.parse(ENV['beech-6556653.us-east-1.bonsai.io'])

特别是因为该ENV没有被赋值。您可以在终端中使用heroku config:get查看应用程序的所有环境变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39458529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档