把一个对象数组映射成hash?

问题是这样的

我有一个表
option  ,有两个字段
  key
  value

我在rails里

option = Option.find(:all)


我要在前端显示,,这样很不方便

我想把它映射一个hash或者是一个对象而不是对象数组

请问各位大人们有什么好方法么??
问题补充
    option = Option.find(:all)
   
    options = Hash.new
    option.each do |op|
      options[op.option_key] = op.option_value
    end


这是个弱智问题。。嘎嘎

结贴结贴

不过如果您有更好的答案也请贴上来

运行速度最快的版本是放弃find(:all)……
[code="ruby"]
options = {}
Option.connection.execute('select * from options').each do |opt|
options[opt['key']] = opt['value']
end
[/code]

看楼主的代码,是Ruby问题对吧?发错区了哦?
[quote="qishui"][code="ruby"]option = Option.find(:all)
options = Hash.new
option.each do |op|
options[op.option_key] = op.option_value
end[/code][/quote]
这段代码的话可以这样:
[code="ruby"]options = option.inject({}) {|h, op| h[op.option_key] = op.option.value; h }[/code]
或者
[code="ruby"]options = option.inject({}) {|h, op| h.merge({op.option_key] => op.option.value}) }[/code]
都一样

呃,第二个版本手滑少删了个字符,
[code="ruby"]options = option.inject({}) {|h, op| h.merge({op.option_key => op.option.value}) }[/code]
说不定也还有什么好办法,我也一时想不起来 =v=||