You're calling update_all on an Array of ActiveRecord instances, when it is in fact a static method.
Your call should instead be User.update_all (or CardSignup, or whatever your class is called), then the update, then the conditions.
See: http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M001787
EDIT for lack of clarity: having that array of values is only helpful insofar as it lets you construct a condition to pass in to update_all, of the form "id IN (#{users_who_promoted.map {|u| u.id}.join(",")})". If you don't think this will be a bottleneck in your application's performance, simply updating and saving each model object might be more readable.