Cleanest way to create a Hash from an Array

前端 未结 5 1510
南方客
南方客 2021-02-01 15:56

I seem to run into this very often. I need to build a Hash from an array using an attribute of each object in the array as the key.

Lets say I need a hash of example us

5条回答
  •  时光说笑
    2021-02-01 16:13

    a shortest one?

    # 'Region' is a sample class here
    # you can put 'self.to_hash' method into any class you like 
    
    class Region < ActiveRecord::Base
      def self.to_hash
        Hash[*all.map{ |x| [x.id, x] }.flatten]
      end
    end
    

提交回复
热议问题