Как искать по контексту, используя действие-как-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 и этой шпаргалке для справки.

Другие вопросы по тегам