4

だから、私はかなり複雑なオブジェクトをobject.as_json私のビューでルビーを使用してJSON形式に変換し、クライアント側でそれを解析してJSON.parse()javascriptを使用してオブジェクトを使用可能なものに逆シリアル化しています。ただし、からの出力は、JSON 構造に必要な二重引用符ではなく、as_jsonエンコードされた単一引用符を使用しているようです。"私が as_json で間違っていることについて何か提案はありますか?

4

1 に答える 1

5

ああ、何が起こっているのかがわかりました。実際には、2 つの異なる問題の組み合わせでした。

まず、引用符はレールによって自動的にエンコードされていました (XSS などを防ぐため)。これは、html_safeメソッドまたはraw関数を使用して回避できます (ただし、これにより XSS 脆弱性が発生する可能性があるため、注意して使用してください)。

as_json第二に、代わりにを使用していましたto_json。Rails で ActiveSupport オブジェクトを JSON に変換するには、オブジェクトを JSON にシリアル化できる構造にレンダリングすることと、実際にオブジェクトをシリアル化することの 2 つの操作が必要です。to_json両方を行いas_jsonますが、最初のみを行います。これは、出力を取得していた理由を説明=&gtしています。

于 2013-01-23T22:19:01.297 に答える