brewster / elastictastic

Object-document mapper and lightweight API adapter for ElasticSearch
MIT License
88 stars 13 forks source link

NoMethodError [] with documentation code #24

Closed MrMoins closed 5 years ago

MrMoins commented 11 years ago

I have a model Post

class Post
  include Elastictastic::Document

  field :title
  field :tags
end

I index some docs

p = Post.new
p.title = "Pizza Royale"
p.tags = "pizza, cuisine"
p.save

p = Post.new
p.title = "Bouillabaisse"
p.tags = "poisson, marseille, cuisine"
p.save

And when I try to list facets with the same code as in the documentation I get a NoMethodError

Post.facets(:cuisine => { :term => { :field => :tags }})['facets'].each_pair do |name, facet|
  facet.terms.each { |term| puts "#{term.term}: #{term.count}" }
end
NoMethodError: undefined method `raise' for Post:hh{"facets":{"cuisine":{"term":{"field":"tags"}}}}:Elastictastic::Scope
    from /Users/MrMoins/.rbenv/versions/1.9.3-p286/gemsets/elasticsearch/gems/elastictastic-0.10.4/lib/elastictastic/scope.rb:229:in `method_missing'
    from /Users/MrMoins/.rbenv/versions/1.9.3-p286/gemsets/elasticsearch/gems/elastictastic-0.10.4/lib/elastictastic/scope.rb:123:in `[]'
    from (irb):12
    from /Users/MrMoins/.rbenv/versions/1.9.3-p286/gemsets/elasticsearch/gems/railties-3.2.8/lib/rails/commands/console.rb:47:in `start'
    from /Users/MrMoins/.rbenv/versions/1.9.3-p286/gemsets/elasticsearch/gems/railties-3.2.8/lib/rails/commands/console.rb:8:in `start'
    from /Users/MrMoins/.rbenv/versions/1.9.3-p286/gemsets/elasticsearch/gems/railties-3.2.8/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'