Редактировать, основываясь на комментарии:
Хорошо, теперь у вас есть модель Like и модель User.Поместите функцию для обновления популярности в методе в User, затем обратный вызов after_create или after_save (если он может измениться после создания) на Like, чтобы вызвать ее для пользователя, который ее получил:
class User < ActiveRecord::Base
has_many :likes
def calculate_popularity
update_attribute(:popularity, existing_function(foo))
end
end
class Like < ActiveRecord::Base
belongs_to :user
after_create :update_user_popularity
def update_user_popularity
user.calculate_popularity
end
end
Очевидно, еслиLikes - это различные виды пользовательской активности, а не сам пользователь. Вам нужно будет изучить свои ассоциации, чтобы связаться с пользователем из Like, но это не должно быть слишком сложно.