Rails fields_forのN+1問題・エラー表示
現状以下の問題を認識しています。
登場モデル
以下の様なモデル例で説明します。
Account has_many posts
Post belongs_to category
Category
accepts_nested_attributes_for :posts
でAccountのedit時にpostを複数編集
<%= f.fields_for :posts do |f| %>
の場合
上記のfileds_for内に、f.object.category.try(:name)
などのように記述するとN+1問題が発生します。
<%= f.fields_for :posts, f.object.posts.includes(:category) do |f| %>
の場合
N+1問題は解決しますが、Postモデルにvalidates :title, presence: true
としていた場合に、f.object.posts.includes(:category)
を指定しているとpostsが再読み込みされてしまいエラー情報が消えてしまう。
上記のN+1問題を解決しつつ、postsモデルのerrors情報を保持するにはどのように記述すればよいのでしょうか?
コード例は以下のリンクにあります。