前人未踏の領域へ WEB・インフラ・プログラミング全般編

フロントエンド、バックエンド、インフラ、言語など、アプリ開発、IOT以外の記録

オブジェクトの配列から文字列の配列を作る

課題

Rubyでこんな感じのオブジェクト配列があったとする。

        "tags": [
            {
                "id": 7,
                "name": "tag1"
            },
            {
                "id": 8,
                "name": "tag2"
            },
            {
                "id": 9,
                "name": "tag3"
            }
        ],

これをStringの配列で返却したい。

    "tags": [
        "tag1",
        "tag2",
        "tag3"
    ]

対応

collectを使い、要素内の値を抽出して新しい配列を作る

json.tags do
  json.array! @transaction.tags.collect {|t| t.name}
end

参考

rails jbuilder - just an array of strings - Stack Overflow

/* Responsive: yes */