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

これは正しく保存されていますか?このjsonデータをレールのシリアル化されたフィールドに入れたいのですが、以下のように正しく保存されず、エラーが発生しています。

ユーザーガイド:

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

次に、Rails ビューで次の操作を行います。

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

=>期待されるのではなく で出力し:ます。

4

1 に答える 1

0

まず、JSON.stringify() を使用してみてください。そうしないと、jQuery は $.param() を使用してデータをシリアル化します。しかし、主な問題は、生成される YAML ではなく、JSON 文字列が必要なことです。私が今のようなものである限り

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

トリックを行う必要があります。また、100% 確信が持てないかもしれませんが、ビューでどのようにレンダリングされるかはわかりませんが、既にエスケープされているため、おそらくこれで html_safe を使用する必要はありません。

于 2012-05-24T20:50:02.713 に答える