Rails アクションから別テンプレートを表示させる

Rails アクションから別テンプレートを表示させる

RailsでControllerを作成してアクションからrenderメソッドを利用して、別のテンプレートを表示させる手順を記述してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.1
  • rails 6.0.3.2

※windows10にrubyをインストールして実行する手順はこちら
※windows10にRuby on Railsをインストールして利用する手順はこちら

Controller作成

まずは、下記のコマンドでcontroller「test」を作成します。

「app\controller」に「tasks_controller.rb」が生成されます。

ブラウザから http://プライベートIP or サーバーアドレス:3000/tasks/index にアクセスすると「app\views\tasks」にあるテンプレート「index.html.erb」が表示されます。

renderメソッド利用

「app\controller」にある「tasks_controller.rb」を下記のように編集します。

「app\views\tasks」フォルダ配下にある「show.html.erb」を下記の内容で作成します。

ブラウザから http://プライベートIP or サーバーアドレス:3000/tasks/index にアクセスすると
作成した「app\views\tasks」にあるテンプレート「 show .html.erb」が表示されることが確認できます。

次にrenderを利用して、ヘッダーとフッターを作成してみます。

「app\views\tasks」フォルダ配下に 「_headder.html.erb」と「_footer.html.erb」をそれぞれ下記の内容で作成します。

_headder.html.erb

_footer.html.erb

「app\views\tasks」にあるテンプレート「 show .html.erb」を下記の内容で編集します。

ブラウザから http://プライベートIP or サーバーアドレス:3000/tasks/index にアクセスすると、
テンプレートを利用したヘッダーとフッターが表示されていることが確認できます。