Module: ActsAsTaggableOn::Taggable
- Defined in:
- lib/acts_as_taggable_on/acts_as_taggable_on.rb,
lib/acts_as_taggable_on/acts_as_taggable_on/core.rb,
lib/acts_as_taggable_on/acts_as_taggable_on/cache.rb,
lib/acts_as_taggable_on/acts_as_taggable_on/related.rb,
lib/acts_as_taggable_on/acts_as_taggable_on/ownership.rb,
lib/acts_as_taggable_on/acts_as_taggable_on/collection.rb
Defined Under Namespace
Modules: Cache, Collection, Core, Ownership, Related
Instance Method Summary collapse
-
#acts_as_taggable ⇒ Object
This is an alias for calling
acts_as_taggable_on :tags
. -
#acts_as_taggable_on(*tag_types) ⇒ Object
Make a model taggable on specified contexts.
- #taggable? ⇒ Boolean
Instance Method Details
#acts_as_taggable ⇒ Object
This is an alias for calling acts_as_taggable_on :tags
.
Example:
class Book < ActiveRecord::Base
acts_as_taggable
end
14 15 16 |
# File 'lib/acts_as_taggable_on/acts_as_taggable_on.rb', line 14 def acts_as_taggable acts_as_taggable_on :tags end |
#acts_as_taggable_on(*tag_types) ⇒ Object
Make a model taggable on specified contexts.
Example:
class User < ActiveRecord::Base
acts_as_taggable_on :languages, :skills
end
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/acts_as_taggable_on/acts_as_taggable_on.rb', line 27 def acts_as_taggable_on(*tag_types) tag_types = tag_types.to_a.flatten.compact.map(&:to_sym) if taggable? write_inheritable_attribute(:tag_types, (self.tag_types + tag_types).uniq) else write_inheritable_attribute(:tag_types, tag_types) class_inheritable_reader(:tag_types) class_eval do has_many :taggings, :as => :taggable, :dependent => :destroy, :include => :tag, :class_name => "ActsAsTaggableOn::Tagging" has_many :base_tags, :through => :taggings, :source => :tag, :class_name => "ActsAsTaggableOn::Tag" def self.taggable? true end include ActsAsTaggableOn::Taggable::Core include ActsAsTaggableOn::Taggable::Collection include ActsAsTaggableOn::Taggable::Cache include ActsAsTaggableOn::Taggable::Ownership include ActsAsTaggableOn::Taggable::Related end end end |
#taggable? ⇒ Boolean
3 4 5 |
# File 'lib/acts_as_taggable_on/acts_as_taggable_on.rb', line 3 def taggable? false end |