概要
jbuilderからVueにデータを渡して、画面を描画しています。
その中で、下記エラーが発生しました。
一旦は解決できましたが、あまりいい方法だとは思えないので、よりよい方法があれば教えていただきたいです。
コード
show.json.jbuilder
json.item do json.merge! @item.attributes json.company @item.company end end
show.Vue
<img v-if="item.company.image_id" :src="" :alt="" />
試したこと
・item.companyに値が入っているか
Chromeのdevツールで確認したところ、間違いなく入っていた。
company name: "test_name" image_id: "3" address: "Tokyo" created_at: "2021-09-24T16:33:58.389+09:00" updated_at: "2021-09-24T16:33:58.389+09:00"
・jbuilderの修正
show.json.jbuilder
json.item do json.merge! @item.attributes json.company_image_id @item.company.image_id end end
show.Vue
<img v-if="item.company_image_id" :src="" :alt="" />
↓
エラーが消えた!!
しかし、companyの属性すべてを、このようにjbuilderで定義していくのは、冗長だと思うので、よりよい方法をご教示いただきたいと思います。
環境
Rails 6.0
あなたの回答
tips
プレビュー