elasticsearch,sinatra,faraday,Ruby,elasticsearch,Sinatra,Faraday" /> elasticsearch,sinatra,faraday,Ruby,elasticsearch,Sinatra,Faraday" />

Ruby 我如何解决这些问题;我有担架和法拉第宝石吗?

Ruby 我如何解决这些问题;我有担架和法拉第宝石吗?,ruby,elasticsearch,sinatra,faraday,Ruby,elasticsearch,Sinatra,Faraday,在我的本地机器上,我使用的是elasticsearch、ruby、sinatra和stretchergem 我得到以下错误: faraday.rb:99:in `method_missing': undefined method `load_autoloaded_constants' for #<Faraday::Connection:0x9b9f218> (NoMethodError) 感谢所有的帮助 当我安装stretcher时,默认情况下,它会安装faraday_middle

在我的本地机器上,我使用的是
elasticsearch
ruby
sinatra
stretcher
gem

我得到以下错误:

faraday.rb:99:in `method_missing': undefined method `load_autoloaded_constants' for #<Faraday::Connection:0x9b9f218> (NoMethodError)
感谢所有的帮助


当我安装stretcher时,默认情况下,它会安装faraday_middleware-multi_json 0.0.6和faraday 0.9.0以及faraday_middleware 0.9.1

我相信这是一个众所周知的担架问题。指

选项: 1) 使用Faraday的早期版本,例如
Gemfile
和:

 gem 'faraday', '0.8.9'

2) 镜像更改以解决已知的担架问题85。

我认为我们中的许多人都面临着这个问题,但我还没有找到一个地方可以让您得到正确的说明

解决“法拉第方法缺失:加载自动加载的常量”错误的步骤

1。转到命令行并打开gems文件夹下的担架文件夹

sudo subl /home/abhinay/.rvm/gems/ruby-2.1.1/gems/stretcher-1.21.1/
2.Openlib/stretcher.rb

添加这一行:
需要“多json”
第5行

删除这些行:

builder.response :multi_json, :content_type => /\bjson$/ #line 9
需要“法拉第中间件/多json”
第7行

3.Openlib/stretcher/server.rb

改变

builder.response :multi_json, :content_type => /\bjson$/ #line 9

builder.response :json, :content_type => /\bjson$/
block.call.should == %{curl -XPUT 'http://localhost:9200/foo' -d '#{JSON.dump(options)}' '-H Accept: application/json' '-H Content-Type: application/json' '-H User-Agent: Stretcher Ruby Gem #{Stretcher::VERSION}'}
gem.add_dependency('faraday_middleware', '~> 0.9')

builder.response :multi_json, :content_type => /\bjson$/ #line 9
builder.request:multi_json

builder.response :multi_json, :content_type => /\bjson$/ #line 9
builder.request:json
#第11行

4.Openspec/lib/stretcher\u index\u spec.rb 更改第44行

builder.response :json, :content_type => /\bjson$/
block.call.should == %{curl -XPUT 'http://localhost:9200/foo' -d '#{JSON.dump(options)}' '-H Accept: application/json' '-H Content-Type: application/json' '-H User-Agent: Stretcher Ruby Gem #{Stretcher::VERSION}'}
gem.add_dependency('faraday_middleware', '~> 0.9')
5.打开担架。gemspec更改#第30行

builder.response :json, :content_type => /\bjson$/
block.call.should == %{curl -XPUT 'http://localhost:9200/foo' -d '#{JSON.dump(options)}' '-H Accept: application/json' '-H Content-Type: application/json' '-H User-Agent: Stretcher Ruby Gem #{Stretcher::VERSION}'}
gem.add_dependency('faraday_middleware', '~> 0.9')
并删除这些行#第33行和第34行

gem.add_dependency('multi_json', '>= 1.0')
gem.add_dependency('faraday_middleware-multi_json', "~> 0.0.5")

使用担架的叉/叉: