簡體   English   中英

Rails Console中的數據庫值為[“”,“ 5”,“ 1”,“ 2”,“ 8”,“ 6”,“ 9”],顯示為“ [\\” \\”,\\“ 5 \\”, \\“ 1 \\”,\\“ 2 \\”,\\“ 8 \\”,\\“ 6 \\”,\\“ 9 \\”]“?

[英]Database value is [“”, “5”, “1”, “2”, “8”, “6”, “9”] in Rails Console is showing as “[\”\“, \”5\“, \”1\“, \”2\“, \”8\“, \”6\“, \”9\“]”?

數據庫值為

["", "5", "1", "2", "8", "6", "9"] 

但是在Rails控制台中,它顯示為:

"[\"\", \"5\", \"1\", \"2\", \"8\", \"6\", \"9\"]" 

任何解決方案,以顯示它與數組相同?

看起來您的列已另存為json

[15] pry(main)> JSON.parse("[\"\", \"5\", \"1\", \"2\", \"8\", \"6\", \"9\"]")
=> ["", "5", "1", "2", "8", "6", "9"]

您可以使用serialize :name_of_that_column, Array以便從數據庫調用時對其進行解析

您可以檢查http://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/Serialization/ClassMethods.html f

如果要從字符串中獲取整數數組,請使用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"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM