Wie füge ich einer Activerecord-Sammlung eine Methode hinzu?
Ich möchte allen Sammlungen für ein bestimmtes Modell eine Methode hinzufügen. Angenommen, ich möchte die Methode hinzufügenmy_complicated_averaging_method
zu den WeatherData Kollektionen:
WeatherData.all.limit(3).my_complicated_averaging_method()
Station.first.weatherdata.my_complicated_averaging_method()
Wie geht das am besten? Im Moment ist der einzige Weg, den ich gefunden habe, so:
class WeatherData < ActiveRecord::Base
def self.my_complicated_averaging_method
weighted_average = 0
@relation.each do |post|
# do something complicated
# weighted_average =
end
return weighted_average
end
end
Ist dies eine gute Möglichkeit, einer Sammlung eine Methode hinzuzufügen? Gibt es eine bessere / unterstützte Möglichkeit, dies zu tun?