Top Programming 3日間でマスターする Ruby on Rails講座 復習と、Scaffolding機能の概要

Lecture 61:

復習と、Scaffolding機能の概要

Instructor: 井上 博樹

Lecture Content


新しいセクションに進んでいきます。このセクションではRuby on Railsに内蔵されているScaffoldingという機能について学んでいきます。

まずこれまでの復習ですけれども、前のセクションで作成したアプリケーションについてみておきましょう。
まず railsstudy の中の book というところにRailsのプロジェクトを作成し、様々なコードを書いていきました。

そして、 bin ディレクトリーの中のrails コマンドに server オプション与えて、ローカルサーバーを起動しました。

そうするとローカルホストの3000番のポートにアクセスすると、プロジェクトのトップページができて、/books のディレクトリに行くと、書籍の一覧を表示して、そして新しい書籍を登録したり、書籍の情報を表示したり、また編集をして更新したり、そして削除したりといった行動を順次追加してきました。

念のためもう一度見ておくと、まずはプロジェクトの生成をしました。
これにはRailsコマンドの new というオプションを使って、そしてアプリ名を指定してプロジェクトを作っていきました。

次にコントローラとアクションを追加をしました。
これにはRailsコマンドの generate そして controller というオプションを使って、コントローラー名とアクション名を指定して、コントローラやその中のアクションメソッドの定義をしてきました。

それからルーティングの設定をしました。
アドレスによってどのページを見に行くか、という処理を app/config/routes.rb で指定しました。

それからリソースの追加を行いました。
これはデータベースのテーブルとモデルとの関連付けをするという定義を、先ほどのroutes.rb に追加しました。

それからビューの追加をしました。
標準テンプレートのことをビューと呼んでいますけども、これをプロジェクトの app/views というフォルダの中にファイルを追加しました。
またテンプレートについては .erb の拡張子を使って Ruby のコードを HTML に埋め込むという形でテンプレートファイルを生成しました。

続いてアクションメソッドの追加を行いました。
books_controller.rb こちらのファイルにRubyのメソッドを定義しました。
そしてRailsの中ではこのモデルに対するメソッドのことをアクションと呼んでいます。

またモデルの追加を行いました。railsの generate オプション使って、そして model そしてテーブル名の単数形を使うことでモデルのコードを出力することができました。

しかし、これを全て毎回やってるのは非常に大変なので、例えば商品管理だとか単純に名簿を管理するシンプルなアプリケーションの場合は、やることがほぼ決まっているので、これを一度に生成できるにしよう、というのが今回学ぶScaffoldingです。

前節までは、モデルやビューやコントローラーの連携の仕組みを理解していただくために、手動で作ってきましたが、今回は先程説明した、一度に必要なファイルを一気に生成するというScaffolding について実行していきたいと思います。

このScaffoldというのは日本語で言うと足場という意味です。つまりアプリケーションの土台を作ってくれるという意味を示しています。ただし、Scaffoldingも向いてる場合とそうでない場合があります。

Scaffoldingは単一テーブルの操作コードを一気に作ってくれるといいんですけども、複数になったりする場合、それぞれにコードをを書いたりしなくてはいけませんし、また注意点としては、レイアウトに凝ろうとすると、手動でテンプレートファイルなどを編集して調整をする必要があります。そのため、複雑なものには向いてませんが、短期間に単一テーブルを管理する、編集したり更新したりするというアプリケーションを作るには非常に適しています。

続いてのレクチャーでは、このScaffoldingを実際に実行していきます。

Related Courses

【現役Rubyistが質問対応】Ruby on Rails (6.0) チュートリアル [第6版]
PRO COURSE

【現役Rubyistが質問対応】Ruby on Rails (6.0) チュートリアル [第6版]

37時間13分の動画講座+質問対応
Instructor: 安川 要平
2
$579.99
Node.jsとNW.jsで作るJavaScript ローカルアプリ開発講座
PRO COURSE

Node.jsとNW.jsで作るJavaScript ローカルアプリ開発講座

5h 22m Video Course
Instructor: 柳井 政和
$89.99
JavaScriptで作るリバーシゲーム!ブラウザで動くゲーム開発講座
PRO COURSE

JavaScriptで作るリバーシゲーム!ブラウザで動くゲーム開発講座

7h 26m Video Course
Instructor: 柳井 政和
1
$89.99
全53時間! ITスタートアップの全て -Web・アプリプログミングから起業まで-
PRO COURSE

全53時間! ITスタートアップの全て -Web・アプリプログミングから起業まで-

53h 56m Video Course
Instructor: Masaaki Hatano
58
$355.35
何が新しいの!? HTML5+CSS3 徹底学習講座
PRO COURSE

何が新しいの!? HTML5+CSS3 徹底学習講座

3h 45m Video Course
Instructor: BeSomebody
5
$26.99
誰でもわかる!! JavaScript 初心者向け入門講座
PRO COURSE

誰でもわかる!! JavaScript 初心者向け入門講座

3h 59m Video Course
Instructor: Asakura Yuma
1
$25.99
JavaScriptを極める33時間セット講座!超入門からNode.js, Electronまで
SET COURSE

JavaScriptを極める33時間セット講座!超入門からNode.js, Electronまで

5 Courses Included
Instructor: 柳井 政和
7
$17.98/mo
ゼロからはじめる Dockerによるアプリケーション実行環境構築
PRO COURSE

ゼロからはじめる Dockerによるアプリケーション実行環境構築

5h 44m Video Course
Instructor: Kojima Kazuya
$98.99
Learn CSS Transition and Animation
PRO COURSE

Learn CSS Transition and Animation

1h 8m Video Course
Instructor: Supriyo Kundu
$49.99
実例でわかる JavaScript 初心者講座
PRO COURSE

実例でわかる JavaScript 初心者講座

8h 37m Video Course
Instructor: 柳井 政和
6
$99.99
Djangoで作るはじめてのPythonによるWebアプリケーション開発講座
PRO COURSE

Djangoで作るはじめてのPythonによるWebアプリケーション開発講座

16h 50m Video Course
Instructor: 滝澤 成人
4
$199.99
How to Become a Top Skilled Web Developer
PRO COURSE

How to Become a Top Skilled Web Developer

23h 6m Video Course
Instructor: Masaaki Hatano
$119.99