# total_points é uma tabela de soma com a coluna "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
Sou muito novo no Rails. Você poderia me dizer o que está errado com isso?
Muito obrigado!
Desculpe, isso pode não ajudar muito, mas é rápido.
Algo que você espera ser um array é nil. Talvez args seja nil e precise ser um []?
Você também pode dar uma olhada em GitHub - discourse/all-the-plugins para tentar encontrar exemplos do que você está tentando fazer (não consigo entender bem o que você está tentando fazer).
Confira discourse-calendar. Ele adiciona uma classe Event, que parece bastante análoga ao que você está tentando fazer.
No entanto, existem vários plugins que têm um bloco reloadable_patch semelhante.