elasticsearch,Ruby On Rails,elasticsearch" /> elasticsearch,Ruby On Rails,elasticsearch" />

Ruby on rails Elasticsearch-未定义的方法'as_index_json'

Ruby on rails Elasticsearch-未定义的方法'as_index_json',ruby-on-rails,elasticsearch,Ruby On Rails,elasticsearch,我可以使用elasticsearch在我的应用程序中进行简单的关键字搜索,没有任何问题,但由于索引的json显然不起作用,我不知道为什么。我正在关注这一点,而讨论的部分几乎是一半 请让我知道,如果我需要提供任何其他信息。我对这个问题很陌生,所以如果这是一个非常愚蠢的问题,我道歉 Rails控制台: 2.2.4 :011 > Term.first.as_indexed_json Term Load (0.4ms) SELECT "terms".* FROM "terms" ORDER

我可以使用elasticsearch在我的应用程序中进行简单的关键字搜索,没有任何问题,但由于索引的json显然不起作用,我不知道为什么。我正在关注这一点,而讨论的部分几乎是一半

请让我知道,如果我需要提供任何其他信息。我对这个问题很陌生,所以如果这是一个非常愚蠢的问题,我道歉

Rails控制台:

2.2.4 :011 > Term.first.as_indexed_json

Term Load (0.4ms)  SELECT  "terms".* FROM "terms"  ORDER BY "terms"."id" ASC LIMIT 1

NoMethodError: undefined method `as_indexed_json' for #<Term:0x007fa6cd9a6408>
from /Users/emplumb/.rvm/gems/ruby-2.2.4/gems/activemodel-4.2.5/lib/active_model/attribute_methods.rb:433:in `method_missing'
from (irb):11
from /Users/emplumb/.rvm/gems/ruby-2.2.4/gems/railties-4.2.5/lib/rails/commands/console.rb:110:in `start'
from /Users/emplumb/.rvm/gems/ruby-2.2.4/gems/railties-4.2.5/lib/rails/commands/console.rb:9:in `start'
from /Users/emplumb/.rvm/gems/ruby-2.2.4/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:68:in `console'
from /Users/emplumb/.rvm/gems/ruby-2.2.4/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /Users/emplumb/.rvm/gems/ruby-2.2.4/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>' 
型号:

require 'elasticsearch/model'

class Term < ActiveRecord::Base
  include Elasticsearch::Model
  include Elasticsearch::Model::Callbacks

  def as_indexed_json(options = {})
    as_json(
      only: [:name, :definition, :etymology1, :etymology2, :uses, :romance_cognates, :notes1, :notes2, :quote1, :quote2]
    )
  end

end

基于该教程,我希望您使用rails c打开irb


但是像这样打开控制台bundle exec rails c并重试

您是如何打开控制台的?表示使用哪个命令@伊万杰金当,那很容易。非常感谢。是的,我最初是用rails c打开它的……现在我已经查找了bundle exec,所以我对将来何时使用它有了更好的了解。