2013-07-05 5 views
0

Так что я использую act_as_taggable на модели. Я бы хотел найти теги с каким-то совпадением %LIKE%, но я не уверен, как это сделать.Нечеткое совпадение тегов с act-as-taggable

Мой текущий код:

@companies = Company.tagged_with(@query, :any => true) 

делает это не работает:

tagged_with("%#{@query}%", :any => true) 

Есть идеи?

+0

Нет, он не будет работать. Это не так, как act_as_taggable был написан для работы. Когда вы отправляете taglist, он генерирует список всех тегов из строки запроса и использует его для извлечения отмеченных записей. Он не делает поиск в списке тегов, чтобы найти теги, которые соответствуют вашему запросу. –

ответ

1

решаемые извлечения тегов вручную первый

tags = Tag.where("name LIKE ?", "%#{@query}%").pluck(:name) 
    @companies = Company.tagged_with(tags, :any => true) 

Однако это требовало моего, чтобы создать пустой Tag модель, которая создана не acts_as_taggable.

Возможно, это не лучшее решение, но оно работает :)
Я скорее сделаю это «взломать», а затем напишу свои собственные модели тегов.

Смежные вопросы