2012-06-27 5 views
0

Как указано в названии, я ищу метод индекса tankit в моей модели, который позволяет индексировать пользователя Post. В моей модели у меня есть:Использование Tanker и поиск для поиска пользователя пользователя

tankit 'idx' do 
     indexes :title 
     indexes :content 
     indexes :post_loc 
     indexes :user_id 
    end 

Однако, это разрешает поиск идентификатора пользователя. Это не то, что я хочу. У всех пользователей есть имя пользователя, и я хочу, чтобы у меня был возможность поиска по ним, чтобы отобразить все отчеты этого пользователя. Я хотел бы сделать что-то вроде indexes :(User.find(user_id).username) или что-то подобное, но это не работает.

ответ

0

Если у вас есть связь с именем «пользователь», вы должны добавить такой метод индексных значений ассоциаций:

tankit 'idx' do 
    indexes :title 
    indexes :content 
    indexes :post_loc 
    indexes :username do 
    user.username 
    end 
end 

Вы даже можете отобразить несколько значений для одного до многих ассоциаций:

indexes :userlocations 
    user.locations.map {|l| l.cityname } 
end