Javascript 如何使用存储在rails序列化字段中的数据
在我的User.rb文件中将User.guided字段设置为序列化:Javascript 如何使用存储在rails序列化字段中的数据,javascript,jquery,ruby-on-rails,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ruby On Rails 3,在我的User.rb文件中将User.guided字段设置为序列化: serialize :guided 在DB中,值的存储方式如下: --- "{\"step1\"=>\"true\", \"step2\"=>\"false\"}" 因此,在rails视图中,我将值输出到JS,如下所示: <script> var guided = <%= current_user.guided.to_json.html_safe %>; </script>
serialize :guided
在DB中,值的存储方式如下:
--- "{\"step1\"=>\"true\", \"step2\"=>\"false\"}"
因此,在rails视图中,我将值输出到JS,如下所示:
<script>
var guided = <%= current_user.guided.to_json.html_safe %>;
</script>
问题是我无法访问单个值?你是怎么做到的
作为指南。步骤1
错误,且未定义
感谢to_json
返回一个json字符串。您应该在客户端上解析该字符串以获得实际对象
例如:
var guided = JSON.parse(<%= current_user.guided.to_json.html_safe %>);
谢谢,我用:jQuery.parseJSON(guided)尝试了这个方法,但是用:SyntaxError:Unexpected token=thanking出现了错误,但是也出现了错误:“SyntaxError:Unexpected token=”啊,我明白了。它以ruby哈希语法返回字符串。真奇怪。你应该调试一下。
var guided = JSON.parse(<%= current_user.guided.to_json.html_safe %>);
obj = {"step1"=>"true", "step2"=>"false"}
obj # => {"step1"=>"true", "step2"=>"false"}
obj.to_json # => "{\"step1\":\"true\",\"step2\":\"false\"}"