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

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

用户指南:

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

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

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

它输出 with=>而不是预期的:.

4

1 回答 1

0

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

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

应该做的伎俩。另外,也许我不是 100% 确定,但您可能不需要在此使用 html_safe ,因为它已经被转义了,虽然不知道它将如何在视图中呈现

于 2012-05-24T20:50:02.713 回答