Ruby on rails Elasticsearch-未定义的方法'as_index_json'
我可以使用elasticsearch在我的应用程序中进行简单的关键字搜索,没有任何问题,但由于索引的json显然不起作用,我不知道为什么。我正在关注这一点,而讨论的部分几乎是一半 请让我知道,如果我需要提供任何其他信息。我对这个问题很陌生,所以如果这是一个非常愚蠢的问题,我道歉 Rails控制台: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
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,所以我对将来何时使用它有了更好的了解。