首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby3.1中ElasticSearch的参数错误

Ruby3.1中ElasticSearch的参数错误
EN

Stack Overflow用户
提问于 2022-09-29 21:46:07
回答 1查看 120关注 0票数 0

最近,我将Rails应用程序的ruby版本从2.7升级到3.1,但之后我面临着与elasticsearch相关的问题。当我启动elasticsearch服务器并运行以下命令时:

代码语言:javascript
复制
RAILS_ENV=development bundle exec rake environment elasticsearch:import:model CLASS='ClinicalEquivalence' FORCE=y

这给了我一个论证错误。下面是错误堆栈:

代码语言:javascript
复制
ArgumentError: wrong number of arguments (given 1, expected 0)
Users/apple/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/activerecord-6.1.5/lib/active_record/relation/batches.rb:128:in `find_in_batches'
Users/apple/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/activerecord-6.1.5/lib/active_record/querying.rb:22:in `find_in_batches'
Users/apple/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/bundler/gems/elasticsearch-rails-dbd617ecc25c/elasticsearch-model/lib/elasticsearch/model/proxy.rb:96:in `method_missing'

下面是我正在使用的elasticsearch宝石的快照:

代码语言:javascript
复制
elasticsearch (6.8.1)
elasticsearch-api (= 6.8.1)
elasticsearch-transport (= 6.8.1)
elasticsearch-model (6.1.1)
elasticsearch-rails (6.1.1)

在早期版本的ruby中,它运行得非常好,但突然在V3.1中崩溃了。我怀疑这是因为在ruby3.1中使用最后一个参数作为关键字参数是不可取的。如果有人知道如何解决这个问题,请告诉我,最好不用升级我正在使用的elasticsearch。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-02 05:39:24

实际上,他们在elasticsearch-rails 6.1.1中修复了这个bug,如https://github.com/elastic/elasticsearch-rails/blob/6.1.1/CHANGELOG.md中所示

但是,如果你调查上传的创业板中的文件,你会发现它们没有推动这一改变,可能是意外的?https://my.diffend.io/gems/elasticsearch-rails/6.1.0/6.1.1

处理它的最佳方法是在Gemfile中指定提交

代码语言:javascript
复制
gem 'elasticsearch-rails', git: "https://github.com/elastic/elasticsearch-rails", tag: "6.1.1", ref: "f22d97e0cd629475bed48be3b1219741a46ba4b9"

另一个建议是一次升级一个主要版本的Ruby。

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

https://stackoverflow.com/questions/73901954

复制
相关文章

相似问题

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