2016-09-12 4 views
0
は私が最終的に起動時に私のアプリをクラッシュしないようにelasticsearchを得ている

しかし、それはいつでも、私はアプリのクラッシュを検索しようと、新しいレコードを追加すると、アプリがクラッシュする(ただし、レコードがありません追加されます)。盆栽-ElasticsearchはHerokuの生産URIにクラッシュ:: InvalidURIError

私が取得エラーメッセージは次のとおりです。

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' 

私は私はすべてhereを通じて行ってきたアップURI::InvalidURIError (bad URI(is not URI?): http://heroku config:0): と何か分からない、と私は、このon the URI error見てきたし、私のアプリはまだクラッシュします同じ理由で。

私Bonsai.rbは、次のようになります。 `BONSAI_URL = ENV [ 'beech-6556653.us-east-1.bonsai.io']

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モデルが持っているがsearchkick:

最後に
class Professor < ActiveRecord::Base 
    searchkick 
    belongs_to :user 
    has_many :reviews 

私gemfile:

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' 
+1

イニシャライザで 'ENV ['BONSAI_URL']'を実行します。 –

+0

ニック、あなたの答えはロブと私の問題を解決した。どうもありがとうございます。 – tfantina

答えて

1

この行は不要です。

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

特にENVに値が割り当てられていないためです。端末には、アプリの環境変数のすべてがheroku config:getで表示されます。

関連する問題