как индексировать ассоциированные модели, используя thinktank и indextank - PullRequest
0 голосов
/ 11 апреля 2011

Мы используем камень мышления и не можем индексировать ассоциации моделей, даже простые. Например, профиль принадлежит учреждению, у которого есть название - мы хотели бы сделать что-то вроде:

class Profile < ActiveRecord::Base

#model associations

  define_index do
    indexes institution(:name), :as => :institution_name
  end

end

но это не работает. Это должно быть очень просто - что я делаю не так?

1 Ответ

2 голосов
/ 11 апреля 2011

возможным решением этой проблемы было бы добавление метода, возвращающего элемент в индекс. Для случая profile.institution.name:

# profile.rb
# ...
belongs_to :institution
# ...
define_index do
  indexes institution_name  
end 
def institution_name
  self.institution.name
end
# ...

Кроме того, синтаксис ",: as => ..." не поддерживается в mindtank.

Я бы также рекомендовал попробовать Tanker: https://github.com/kidpollo/tanker

С уважением.

Адриан

...