diff options
Diffstat (limited to 'activerecord/test/models/tagging.rb')
-rw-r--r-- | activerecord/test/models/tagging.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/activerecord/test/models/tagging.rb b/activerecord/test/models/tagging.rb new file mode 100644 index 0000000000..6d4230f6f4 --- /dev/null +++ b/activerecord/test/models/tagging.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +# test that attr_readonly isn't called on the :taggable polymorphic association +module Taggable +end + +class Tagging < ActiveRecord::Base + belongs_to :tag, -> { includes(:tagging) } + belongs_to :super_tag, class_name: "Tag", foreign_key: "super_tag_id" + belongs_to :invalid_tag, class_name: "Tag", foreign_key: "tag_id" + belongs_to :ordered_tag, class_name: "OrderedTag", foreign_key: "tag_id" + belongs_to :blue_tag, -> { where tags: { name: "Blue" } }, class_name: "Tag", foreign_key: :tag_id + belongs_to :tag_with_primary_key, class_name: "Tag", foreign_key: :tag_id, primary_key: :custom_primary_key + belongs_to :taggable, polymorphic: true, counter_cache: :tags_count + has_many :things, through: :taggable +end + +class IndestructibleTagging < Tagging + before_destroy { throw :abort } +end |