From: Ryan Williams Date: 2006-03-18T04:03:47+09:00 Subject: Re: deleting from hash question > Just FYI, Rails's dynamic finder methods are probably a little > cleaner way to do the above: > > find_all_by_person_in(person.id) Yep. I totally flaked on that. Thanks! > How about something like: > > todo = Hash[ *TASKS.reject do |name, desc| > @current_assignments.any? { |assign| assign.tasks == name } > end.flatten ] Okay... this seems to work fine right up to the .flatten I created a method in my model like so: def self.get_unassigned(assigned) Hash[ *TASKS.reject do |name, desc| assigned.any? { |assign| assign.task == name } end.flatten ] end with "assigned" being @currently_assigned. Rails is giving me: NoMethodError in Admin#show undefined method `flatten' for {"homework"=>"Do Your Homework!"}:Hash At least it's correctly eleminating the already assigned tasks. Any idea why I'm getting thrown this exception on a standard ruby method? It seem to happen to me a lot. -- Posted via http://www.ruby-forum.com/.