Rails renderでなくredirect_toを使用して、別コントローラーのアクションにエラーメッセージを受け渡したい

今回はエラーメッセージを表示について少し深掘りました

バリデーションを設定の上、createやupdateにエラーメッセの表示には以下みたいな感じで
変数.valid?=>false//返り値
変数.errors.full_messages=>エラー文が生成される

という流れなわけですが、

def create
    @post = Post.new(post_params)
    if @post.valid?
      @post.save
      redirect_to post_path(@post.id), notice: '投稿しました'
    else
      render :new
    end
end

表示させるためにはredirect_toを使用すると新しいページに遷移するためエラーの内容が受け渡されないらしい。 つまりrenderを使用するのが基本なのだけれど,,, 私の場合render先のアクションがビュー表示のために読み込んでる変数がいくつかあって再度記述するのが嫌ーでしたw
なので redirect_toを使ってコントローラーを経由して欲しいという願望の下検討したところあるではありませんかw 参考にしたサイトさんのコメントをお借りすると”素直にflashに渡す”ということ。

ということで以下ソースがその内容です!

def create
    comment = Comment.new(comment_params)
    if comment.valid?
      comment.save
      redirect_to post_path(comment.post.id), notice: "コメントを投稿しました。"
    else
      redirect_to post_path(comment.post.id), flash: { error: comment.errors.full_messages }
    end
  end

ありがとうございました