Не уверен, действительно ли вы хотите включить эту область в сезон, поскольку это будет означать, что вы ищете сезоны, у которых есть постоянные пользователи. Но я предполагаю, что вы хотите, чтобы у пользователей были повторные сезоны. С этим допущением, ваша область будет:
class User < ActiveRecord::Base
scope :repeat_members,
:select=>"users.*, count(season_members.season_id) as season_counter",
:joins=>"JOIN season_members ON season_members.user_id = users.id",
:group=>"users.id",
:having=>"season_counter > 1"
end
, что приведет к следующему запросу:
SELECT users.*, count(season_members.season_id) as season_counter FROM "users" JOIN season_members ON season_members.user_id = users.id GROUP BY users.id HAVING season_counter > 1
Подтверждено с помощью: Rails 3.1.3 и SQLite3