Check


プログラミングが無料で学べるYouTubeチャンネルを配信中!

RubyやPython、PHPやReactなど様々なプログラミング言語のチュートリアル動画が充実!

チャンネル登録はこちら

Ruby

【Ruby on Rails】簡単なメモアプリの作成|部分テンプレートの実装

Ruby on Rails 部分テンプレート

動画で解説を見る



開発環境

  • Ruby:version 3.1.2
  • Ruby on Rails:version 7.0.4
  • Visual Studio Code:version 1.73.0
  • OS:Windows10

Ruby on Railsで部分テンプレートの実装手順

Ruby on Railsの部分テンプレートは重複するフォーマットはもちろん、javascriptによる非同期通信(ajax)にも使用されています。

今回はメモアプリの作成で使用したコードを用いて解説していきます。

部分テンプレートにする前のインデックスビュー

今回、修正していく前のインデックスビューが下記になります。

それでは、上記を整理していきながら部分テンプレートを作成していきます。

エラー表示の部分テンプレート

まずはエラー表示はアプリケーションで共通のテンプレートになりますため、「memo_app\app\views\layouts」フォルダ内に部分テンプレートを作成します。

「@memo_new」というインスタンス変数は「obj」というローカル変数に変更しておきます。

メモの新規投稿フォームの部分テンプレート

次に、メモの新規投稿フォームはメモコントローラー内の機能であるため、「memo_app\app\views\memos」フォルダ内に作成していきます。

先ほどと同様に「@memo_new」というインスタンス変数を「memo_new」に変更しておきます。

メモの一覧表示の部分テンプレート

次に、メモの一覧表示はメモコントローラー内の機能であるため、「memo_app\app\views\memos」フォルダ内に作成していきます。

先ほどと同様に「@memos」というインスタンス変数を「memos」に変更しておきます。

「memo」はすでにローカル変数になっているため、その部分は修正せずにおいておきます。

ここのポイントとしては、一覧表示の「list」の中に詳細表示の「show」は部分テンプレートの中に部分テンプレートが入っている状態になっています。

上記のようにすることにより、テンプレートを効率よく構造化することもできます。

インデックス表示で部分テンプレートを呼び出す

最後にインデックスのビューファイルから部分テンプレートを呼び出していきます。

8行目を参考に解説していきます。

renderメソッドで部分テンプレートを呼び出していきますが、「"layouts/errors"」viewsというフォルダからみたファイル構成で呼び出すファイルを指定しています。

また、「obj: @memo_new」は「obj」というローカル変数に「@memo_new」という情報を代入しているという流れになります。

キーワード

Ruby on Railsで部分テンプレートについて解説してきましたが、いかがだったでしょうか。

アプリケーションの機能が充実するほど重複するテンプレートは多くなってくるため、どのように部分テンプレートを構築するかはとても重要になってきます。

是非、アプリケーションを管理しやすくするために、部分テンプレートを活用してください。

Check


プログラミングが無料で学べるYouTubeチャンネルを配信中!

RubyやPython、PHPやReactなど様々なプログラミング言語のチュートリアル動画が充実!

チャンネル登録はこちら

-Ruby