3

「コンテキストで」検索したい場合に「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 は、interest"1" タグと skill"1" タグを区別しません。しかし、私の質問は、 「スキル」コンテキストではなく「興味」コンテキストのみでタグ「1」を持つユーザーを検索する方法はありますか? つまり、どうにかして「スキル」「1」を指定して @user2 だけを取得するにはどうすればよいでしょうか。

助けてくれてありがとう、みんな

4

1 に答える 1

3

on次のオプションを使用します。

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

readme の「Dynamic Tag Contexts」というタイトルのセクションと、このチート シートを参照してください。

于 2011-04-04T03:00:06.087 に答える