0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?