Я думаю, вам нравятся такие модели
class Subscription < ActiveRecord::Base
belongs_to :app
end
class App < ActiveRecord::Base
has_many :subscriptions
end
Вы можете изменить приложения, добавить столбец с именем subscription_count, чтобы использовать функцию counter_cache acitverecord, а затем изменить свою модель следующим образом:
class App < ActiveRecord::Base
has_many :subscriptions,:counter_cache => subscriptions_count
end
и вы можете запросить приложения:
App.find(:all, :order => "subscriptions_count DESC")