Есть ли способ переопределить один из методов, предоставляемых ассоциацией 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, таких как теги, теги <<, tags =, tags.empty? И т. Д. </p>
Как мне переопределить один из этих методов? В частности, теги << метод. Довольно просто переопределить обычные методы класса, но я не могу найти никакой информации о том, как переопределить методы ассоциации. Делать что-то вроде </p>
def tags<< *new_tags
#do stuff
end
выдает синтаксическую ошибку при вызове, поэтому, очевидно, не все так просто.