Posted at

Railsのrenderの書き方多すぎ問題について

新人エンジニアです。

コードを見ていく中で色んなrenderの書き方を見つけて、こんがらがってきたのでこちらにまとめようと思います。


renderの色々な書き方

RAILSGUIDEのものを紹介します。これ全部同じ意味ですからね。。。


BooksControllerクラスのupdateアクション内で、本の更新に失敗したらeditテンプレートを出力したいとすると、以下のどのレンダリング呼び出しを行っても最終的には必ずviews/booksディレクトリのedit.html.erbを使用して出力が行われます。



render :edit
render action: :edit
render "edit"
render "edit.html.erb"
render action: "edit"
render action: "edit.html.erb"
render "books/edit"
render "books/edit.html.erb"
render template: "books/edit"
render template: "books/edit.html.erb"
render "/path/to/rails/app/views/books/edit"
render "/path/to/rails/app/views/books/edit.html.erb"
render file: "/path/to/rails/app/views/books/edit"
render file: "/path/to/rails/app/views/books/edit.html.erb"