如何使用acts-as-taggable-on按上下文搜索

时间:2011-04-04 02:56:10

标签: ruby-on-rails-3 acts-as-taggable-on acts-as-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,b / c它不区分兴趣“1”标签或技能“1”标签。 但我的问题是:有没有办法在“兴趣”上下文中搜索标记为“1”的用户,而“技能”上下文?换句话说,如何通过以某种方式指定“技能”“1”来获取@ user2?

谢谢你的帮助,伙计们

1 个答案:

答案 0 :(得分:3)

使用on选项:

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

请参阅the readmethis cheat sheet上标题为“动态代码上下文”的部分作为参考。