Использование sunspot_solr для поиска в массиве значений

Привет, я создал приложение Ruby on Rails с Sunspot Solr для поиска.

@search = Answer.search do
  with(:question_id, @question_ids) 
  paginate :page => 1, :per_page => Answer.count
end
return question_id

Здесь я хочу найти эту модель ответа, используя массив question_ids (например: [1,2,3,4,5]).

Как это сделать? Пожалуйста, помогите мне.

1 ответ

Решение

Если ваш вопрос и ответ связаны как

class Question < ActiveRecord::Base
   has_many :answers
end

class Answer < ActiveRecord::Base
  belongs_to :question
end

тогда вы можете добавить поиск для вашей модели вопросов, как это

class Question < ActiveRecord::Base
  searchable do
    text :title, :body
    text :answers do
      answers.map { |answer| answer.body }
    end
    integer :questions_ids, :multiple => true
  end
    // your another methods
end

И в вашем индексе действий

@search = Answer.search do
  with(:questions_ids, @question_ids) 
  paginate :page => 1, :per_page => Answer.count
end
return question_id

Я думаю, что это поможет вам.

Другие вопросы по тегам