Ruby on Rails String to OpenStruct

我有以下OpenStruct对象,但是如果我调用.class就是一个字符串。 如何将其重新转换为OpenStruct对象?

[ #, #, # ] 

有点hacky,但我认为实现了你的目标:

 require 'ostruct' string_array = '[ #, #, # ]' string_array.gsub(/(\n|#,').map do |attrs| struct_attrs = attrs.split(',') attrs = struct_attrs.inject({}) do |hash, elem| hash[elem.split('=').first] = elem.split('=').last.gsub('"', '') hash end OpenStruct.new(attrs) end 
Interesting Posts