我有一个Rails应用程序,我希望全文搜索到我的弹性搜索服务器。我的Elasticsearch服务器运行时没有问题,我可以使用curl对它进行全文搜索。Rails Elasticsearch“[PROXY]未定义方法`model_name'”
但是,我遇到'elasticsearch-model'
和'elasticsearch-rails'
问题。随着我的模型,例如:
require 'elasticsearch/model'
class ConfigTextSearch
include Elasticsearch::Model
end
ConfigTextSearch.import
我得到:
NoMethodError (undefined method `model_name' for [PROXY] ConfigTextSearch:Elasticsearch::Model::Proxy::ClassMethodsProxy):
app/models/config_text_search.rb:7:in `<top (required)>'
app/controllers/devices_controller.rb:73:in `config_text_search'
app/metal/status.rb:18:in `call'
当我通过应用程序或如果做一个查询我进入轨道控制台,并尝试inspect(ConfigTextSearch)
。
我尝试在我的模型中使用class ConfigTextSearch < ActiveRecord::Base
...思考也许遗漏的方法可能会继承,但后来我得到NameError: uninitialized constant ActiveRecord
。
任何想法如何解决这个弹性搜索轨插入undefined method 'model_name'
?
更新:这里是控制器以及如何做一个搜索:
def config_text_search
if params[:device_id].nil?
@devices_with_config = []
else
@devices_with_config = ConfigTextSearch.search params[:device_id])
end
end
嗨。你是如何解决这个问题的?我正面临类似的问题。 –
雅,我得到它的工作,但我不记得如何,虽然....很久以前。抱歉。它是可以修复的。 – dman
我的问题是,我看到相同的错误消息与请求规范,从我的一个控制器实现elasticsearch方法。 –