簡體   English   中英

如何使用Rails序列化字段中存儲的數據

[英]How to use the data stored in a rails serialized field

我在user.rb文件中將User.guided字段設置為序列化:

serialize :guided

值在數據庫中的存儲方式如下:

--- "{\"step1\"=>\"true\", \"step2\"=>\"false\"}"

因此,在我的視圖上,我將值輸出到JS:

<script>
var guided = <%= current_user.guided.to_json.html_safe %>;
</script>

然后在js控制台中,引導輸出:

"{"step1"=>"true", "step2"=>"false"}"

問題是我無法訪問各個值? 你是怎樣做的?

按照guided.step1錯誤與undefined

謝謝

to_json返回JSON字符串。 您應該在客戶端上解析該字符串以獲取實際的對象。

例如:

var guided = JSON.parse(<%= current_user.guided.to_json.html_safe %>);

另外,您的代碼不會返回實際的JSON字符串,而是返回具有ruby哈希語法的字符串。 那里發生的事情可能比您向我們展示的還要多。 此代碼有效:

obj = {"step1"=>"true", "step2"=>"false"}
obj # => {"step1"=>"true", "step2"=>"false"}
obj.to_json # => "{\"step1\":\"true\",\"step2\":\"false\"}"

暫無
暫無

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

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