# total_points è una tabella di sommatoria con la colonna "total_earned_points".
module MyModel::UserExtension
def self.prepended(base)
base.has_many :user_points, class_name: 'MyModel::UserPoint'
base.has_one :total_point, class_name: 'MyModel::TotalPoint'
end
end
reloadable_patch do |plugin|
User.class_eval { prepend MyModel::UserExtension }
end
add_to_class(:user, :total_earned_points) do
# self.user_points.sum(:reward_points)
self.total_point[:total_earned_points]
end
Sono molto nuovo a Rails. Potresti dirmi cosa c’è di sbagliato?
Grazie mille!
Mi dispiace, questo potrebbe non essere di grande aiuto, ma è veloce.
Qualcosa che ti aspetti sia un array è nil. Forse args è nil e deve essere un []?
Puoi anche dare un’occhiata a GitHub - discourse/all-the-plugins per cercare esempi di ciò che stai cercando di fare (non riesco a capire bene cosa stai cercando di fare).
Dai un’occhiata a discourse-calendar. Aggiunge una classe Event, che sembra abbastanza analoga a ciò che stai cercando di fare.
Ci sono un sacco di plugin che hanno un blocco reloadable_patch simile, però.