初歩的な内容だけど
普段のイメージでjbuilderファイル内でwith_indexを使っても、nilになる

@array.each.with_index(1) do |e, i|
  json.index i # nil
end

jbuilderで使用するときはto_aが必要だった

@array.each.with_index(1).to_a do |e, i|
  json.index i # 1,2,3...
end

同じインスタンス変数をcontrollerで使ったときはto_aは不要だったのになぜ・・・
理由がわかってないので、ご存じの方いたらコメントくれると嬉しいです

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.