Если вы хотите пойти по маршруту named_scope, вы можете сделать следующее:
Добавление has_many: users в Trophy, например:
has_many :users, :through => :awards
И следующий named_scope:
named_scope :gold, :conditions => { :trophy_type => 'GoldTrophy' }
Вы можете позвонить по следующему номеру:
Trophy.gold.first.users
Вам нужно вызвать '.first', потому что named_scope вернет коллекцию. Не идеально. Тем не менее, в вашем случае, вероятно, совершенно уместно использовать ни find_by_sql, ни named_scope. Как насчет использования старого доброго:
Trophy.find_by_trophy_type('GoldTrophy').users
Это будет делать именно то, что вы хотите, без необходимости копаться в SQL.