Problem in this :id != current_user.id
Rails .where
pass only hash
try
def male_soccer_players
User.where(:gender => "male", :soccer => true).where('id != ?', current_user.id)
end
or
def male_soccer_players
User.where('gender = ? and soccer = ? and id != ?', "male", true, current_user.id)
end