jab
jab

Reputation: 5823

Dynamic Tag Context Compliment

This is some of the information provided by the docs for dynamic tag contexts in acts_as_taggable_on...

@user = User.new(:name => "Bobby")
@user.set_tag_list_on(:customs, "same, as, tag, list")
@user.tag_list_on(:customs) # => ["same","as","tag","list"]
@user.save
@user.tags_on(:customs) # => [<Tag name='same'>,...]
@user.tag_counts_on(:customs)
User.tagged_with("same", :on => :customs) # => [@user]

My question is how do I get a compliment of the custom tag list that I create. I want :tags - :customs, that is the set of all tags minus the specified tags of customs.

Upvotes: 1

Views: 191

Answers (1)

starscream_disco_party
starscream_disco_party

Reputation: 2996

From their Github page:

# Find a user that's not tagged with awesome or cool:
User.tagged_with(["awesome", "cool"], :exclude => true)



Update


You could try:

customs_tags = @user.tag_list_on(:customs)
user_tags = @user.tag_list
new_tags = user_tags - customs_tags

@user.set_tag_list_on(:customs, new_tags)

Upvotes: 1

Related Questions