0
0

More than 1 year has passed since last update.

【Jbuilder】部分テンプレートでハッシュのオブジェクトを使いたい

Posted at

前提

@book_managerが配列ではなくハッシュのため、json.array!が使えない。

今まで

ファイル名とインスタンス変数名が同じだと
Railsが部分テンプレートを自動的に予測してレンダリングしてくれていたので、
ファイル名など指定しなくても機能していた。

api/v1/book_managers/show.json.jbuilder
json.book_manager do
  json.partial! @book_manager
end

訳あってファイル名変更

ファイル名を変更した際、下記の様に部分テンプレートを指定してみたがうまく行かない...

api/v1/book_infos/show.json.jbuilder
json.book_info do
  json.partial! 'api/v1/book_infos/book_info', collection: @book_manager, as: :book_info
end

うまく行った例

ローカル変数book_infoとして@book_managerを渡す。

api/v1/book_infos/show.json.jbuilder
json.book_info do
  json.partial! 'api/v1/book_infos/book_info', book_info: @book_manager
end

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0