数据库值
["", "5", "1", "2", "8", "6", "9"]
但是在Rails控制台中它显示为:
"[\"\", \"5\", \"1\", \"2\", \"8\", \"6\", \"9\"]"
任何显示它与数组相同的解决方案?
答案 0 :(得分:0)
看起来你的列保存为json
[15] pry(main)> JSON.parse("[\"\", \"5\", \"1\", \"2\", \"8\", \"6\", \"9\"]")
=> ["", "5", "1", "2", "8", "6", "9"]
您可以使用serialize :name_of_that_column, Array
,以便在从db
您可以查看http://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/Serialization/ClassMethods.html f
答案 1 :(得分:-1)
如果您想要的是从字符串获取整数数组,请使用scan
和正则表达式。
例如,
pry(main)> str = "[\"\", \"5\", \"1\", \"2\", \"8\", \"6\", \"9\"]"
=> "[\"\", \"5\", \"1\", \"2\", \"8\", \"6\", \"9\"]"
pry(main)> str.scan(/\d+/)
=> ["5", "1", "2", "8", "6", "9"]