【发布时间】:2011-11-30 03:20:16
【问题描述】:
我收到了格式为
的回复 #<Response:0x000... @first = "Charlie", @last=Kelly, ....
我需要把它变成一个哈希(对于活跃的商家)。目前我正在遍历变量并执行此操作:
response.instance_variables.each do |r|
my_hash.merge!(r.to_s.delete("@").intern => response.instance_eval(r.to_s.delete("@")))
end
这行得通,它将产生{:first = "charlie", :last => "kelly"}
,但它似乎有点hacky和不稳定。有没有更好的方法来做到这一点?
编辑:我刚刚意识到我可以将 instance_variable_get 用于该等式的第二部分,但这仍然是主要问题。
【问题讨论】:
标签: ruby-on-rails ruby hash instance-variables symbols