Есть ли способ переопределить один из методов, предоставляемых ассоциацией ActiveRecord?
Скажем, например, у меня есть следующий типичный полиморфный has_many: через ассоциацию:
class Story < ActiveRecord::Base
has_many :taggings, :as => :taggable
has_many :tags, :through => :taggings, :order => :name
end
class Tag < ActiveRecord::Base
has_many :taggings, :dependent => :destroy
has_many :stories, :through => :taggings, :source => :taggable, :source_type => "Story"
end
Как вы, вероятно, знаете, это добавляет целое множество связанных методов в модель Story, например теги, теги <, теги =, теги.пути и т.д.
Как мне переопределить один из этих методов? В частности, теги < метод. Это довольно легко переопределить обычные методы класса, но я не могу найти какую-либо информацию о том, как переопределить методы ассоциации. Выполнение чего-то типа
def tags<< *new_tags
#do stuff
end
создает синтаксическую ошибку, когда она называется так, что, очевидно, не так просто.