clemcrock
asked on
Creating nested hash from nested active record results
Hello,
I'm trying to find a very abstract and "one size fits all" for converting nested active record results to nested hashes. It's easy, to do one level deep as such:
But, when I try to add another collection to the mix, it completely borks and the results_to_hash only returns an empty hash IE:
Ultimately, I'd like it to be smart enough to detect if a model object contains a collection (IE: object.class.reflect_on_al l_associat ions), and automatically convert those to hashes.
Any ideas?
Thanks,
Eric
I'm trying to find a very abstract and "one size fits all" for converting nested active record results to nested hashes. It's easy, to do one level deep as such:
results_to_hash = Hash[ found_categories.map{ |c| [c.id, c.title]}]
But, when I try to add another collection to the mix, it completely borks and the results_to_hash only returns an empty hash IE:
results_to_hash = Hash[ found_categories.map{ |c| [c.id, c.title, c.categories]}]
Ultimately, I'd like it to be smart enough to detect if a model object contains a collection (IE: object.class.reflect_on_al
Any ideas?
Thanks,
Eric
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
and you add it to a hash
ht.Add(key => #someKey, value => #collection)
and you change a collection thereafter the hash table collection gets influenced also.
So in this case you probably want to use clone
If not please provide code that we can use.
Regards