Как да заредя допълнителни полета в модел от thinking-sphinx?

Използвам мислещ сфинкс по този начин:

class Project < ActiveRecord::Base
  define_index do
    indexes title
    indexes comments.message, as: :comment_message
    indexes category_projects.description, as: :category_description
  end

  class << self
    def text_search(word)
      ThinkingSphinx.search(word, include: :comments)
    end
  end
end

Когато направя това Project.text_search('test') работи, но искам да направя това:

@projects = Project.text_search('test')
@projects.each do |project|
  puts project.comment_message
end

За момента имам това съобщение:

undefined method `comment_message' for #<ThinkingSphinx::Search:0x000000057e11c0>
    from /home/dougui/.rvm/gems/ruby-1.9.3-p194-perf@comment_my_projects/bundler/gems/thinking-sphinx-b293abdbdf0c/lib/thinking_sphinx/search.rb:185:in `method_missing'
    from (irb):1
    from /home/dougui/.rvm/gems/ruby-1.9.3-p194-perf@comment_my_projects/gems/railties-3.2.6/lib/rails/commands/console.rb:47:in `start'
    from /home/dougui/.rvm/gems/ruby-1.9.3-p194-perf@comment_my_projects/gems/railties-3.2.6/lib/rails/commands/console.rb:8:in `start'
    from /home/dougui/.rvm/gems/ruby-1.9.3-p194-perf@comment_my_projects/gems/railties-3.2.6/lib/rails/commands.rb:41:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

И така, как да заредите полета в модел от thinking-sphinx?

Не намерих нищо при доктора.

Благодаря!


person Dougui    schedule 03.08.2012    source източник
comment
Проверихте ли дали @projects не е нула?   -  person az7ar    schedule 04.08.2012
comment
Да, имам резултат в @projects,   -  person Dougui    schedule 04.08.2012


Отговори (1)


Отговорено и в пощенския списък на TS, но по същество полетата не се връщат от Sphinx, така че просто трябва да се обърнете към асоциациите/колоните, от които са изградени полетата:

projects.each do |project|
  puts project.comments.message.join("\n")
end
person pat    schedule 04.08.2012