这个jQuery AJAX帖子保存数据不正确吗?

时间:2012-04-23 02:20:40

标签: javascript jquery ruby-on-rails ruby-on-rails-3

    $.ajax({
        type: 'POST',
        url: '/users',
        data: {
            _method : 'PUT',
            user : {
                guides : {
                    step1 : true,
                    step2 : true
                }
            }
        }
    });

这种保存是否正确?我希望这个json数据在一个rails序列化字段中但是它的保存不正确,如下所示,这会导致错误。

User.guided:

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

然后当我在rails视图中执行以下操作时:

guides = [<%= current_user.guides.try(:html_safe)%>];

输出=&gt;而不是预期的:

感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:0)

首先,您可以尝试使用JSON.stringify(),否则jQuery将使用$ .param()来序列化您的数据。但是你的主要问题是你想要一个JSON字符串,而不是生成的YAML。就我现在的事情而言

guides = [<%= current_user.guides.to_json %>];

应该做的伎俩。另外,也许我不是100%肯定,但你可能不需要在这上面使用html_safe,因为它已经被转义了,虽然无法分辨它将如何在视图中呈现