У меня есть программа, которая содержит страницы и теги, и я хочу добавить функцию related pages
.
Правило бы, что страницы будут ранжироваться по количеству тегов, которыми они делятся.
Итак:
[
{ page: 'one', tags: ['a','b','c'] },
{ page: 'two', tags: ['a','b','c'] },
{ page: 'three', tags: ['a','b'] },
{ page: 'four', tags: ['a'] },
{ page: 'five', tags: ['z','w','y'] }
]
Порядок страниц, связанных со страницей one
, будет ['two', 'three', 'four']
.
Я создал pg_search_scope
следующим образом
class Tag
has_many :pages
end
class Page
has_many :tags
pg_search_scope :search_tags,
associated_against: { tags: :value },
using: {
tsearch: { any_word: true }
}
end
Итак, мой вопрос: как я могу заказать результаты search_tags
?