Как искать по контексту, используя действие-как-taggable-на - PullRequest
3 голосов
/ 04 апреля 2011

У меня проблемы с пониманием того, как будет работать метод "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 Ответ

3 голосов
/ 04 апреля 2011

Используйте параметр on:

User.tagged_with(["1"], :on => :skills)

См. Раздел, озаглавленный "Контексты динамических тегов", в файле readme и этого листа для справки.

...