class Asset include Mongoid::Document include Mongoid::Timestamps mount_uploader :data, FileAssetUploader field :filename field :description, localize: true field :title, localize: true validates :title, :at_least_one => true validates :description, :at_least_one => true validates_presence_of :data belongs_to :asset_category belongs_to :assetable, polymorphic: true has_and_belongs_to_many :tags, :class_name => "AssetTag" before_save :clean_tags def sorted_tags tags.order_by(I18n.locale, :asc) end protected def clean_tags self.tag_ids.delete('') end end