前提・実現したいこと
ActiveModel::Serializerを利用して、別テーブルのString型でjson形式の文字列が入ってる値をそのまま取り出して、外側のjsonのvalueとして使いたい。
[テーブルA].[カラムX]の値
{ "suzuki": { "age": 20, "place": "tokyo" }, "tanaka": { "age": 30, "place": "chiba" } }
呼び出し側
class TestSerializer < ActiveModel::Serializer attributes :hoge def hoge { aaa: object.[テーブルA].[カラムX], bbb: "hogehoge" } end end
実現したいjson
{ aaa: { "suzuki": { "age": 20, "place": "tokyo" }, "tanaka": { "age": 30, "place": "chiba" } }, bbb: "hogehoge" }
発生している問題・エラーメッセージ
値を取り出すと文字列なので、両端にダブルクォーテーションとエスケープ文字が出力されてしまいます。
"{\"suzuki\":{\"age\":20,\"place\":\"tokyo\"},\"tanaka\":{\"age\":30,\"place\":\"chiba\"}}"
補足情報(FW/ツールのバージョンなど)
ruby 2.3.3p222
Rails 4.2.8
回答1件
あなたの回答
tips
プレビュー