だから、私はかなり複雑なオブジェクトをobject.as_json
私のビューでルビーを使用してJSON形式に変換し、クライアント側でそれを解析してJSON.parse()
javascriptを使用してオブジェクトを使用可能なものに逆シリアル化しています。ただし、からの出力は、JSON 構造に必要な二重引用符ではなく、as_json
エンコードされた単一引用符を使用しているようです。"
私が as_json で間違っていることについて何か提案はありますか?
質問する
798 次
1 に答える
5
ああ、何が起こっているのかがわかりました。実際には、2 つの異なる問題の組み合わせでした。
まず、引用符はレールによって自動的にエンコードされていました (XSS などを防ぐため)。これは、html_safe
メソッドまたはraw
関数を使用して回避できます (ただし、これにより XSS 脆弱性が発生する可能性があるため、注意して使用してください)。
as_json
第二に、代わりにを使用していましたto_json
。Rails で ActiveSupport オブジェクトを JSON に変換するには、オブジェクトを JSON にシリアル化できる構造にレンダリングすることと、実際にオブジェクトをシリアル化することの 2 つの操作が必要です。to_json
両方を行いas_json
ますが、最初のみを行います。これは、出力を取得していた理由を説明=>
しています。
于 2013-01-23T22:19:01.297 に答える