Как искать по контексту, используя действие-как-taggable-на
У меня возникли проблемы с пониманием того, как метод tagged_with будет работать в том случае, когда я хотел искать "по контексту".
Например, если у меня есть следующий @user:
class User < ActiveRecord::Base
acts_as_taggable_on :skills, :interests
end
@user1 = User.new(:name => "Bobby")
@user1.interest_list = "1, 2"
@user1.skill_list = "5, 3, 4"
@user1.save
@user2 = User.new(:name => "Al")
@user2.interest_list = "2, 4"
@user2.skill_list = "1, 3, 4"
@user2.save
я знаю это
User.tagged_with(["1"], :any => true)
вернет мне как @user1, так и @user2, т.к. он не различает интересующий тег "1" или тег навыка "1". Но мой вопрос: есть ли способ поиска пользователей с тегом "1" только в контексте "интересов", а не в контексте "навыков"? Другими словами, как мне получить просто @user2, указав "skill" "1" как-нибудь?
Спасибо за помощь, ребята
1 ответ
Решение
Использовать on
опция:
User.tagged_with(["1"], :on => :skills)
См. Раздел, озаглавленный "Контексты динамических тегов", в файле readme и этой шпаргалке для справки.