[英]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.