![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
今回の講義では、RubyのフレームワークであるRuby on Railsを学んでいきますよ
![猫田さん](https://canit.jp/wp-content/uploads/2021/01/canit-character2.jpg)
ほう……とうとう、ここまできましたか。 ところで、フレームワークってなんでしたっけ?
1章で学んだように、以下の4つがwebアプリの大まかな操作です。
- PCやスマホを使ってインターネット経由で何かをする
- 登録ができて、登録した人へのサービスがある
- 大量のデータの中を検索して、ユーザーが望む情報を与える
- 検索結果を見たユーザーに気に入ったものがあればお金が動く
Ruby on Railsを使うと、2のユーザー登録と認証、4のクレジットカードを使った決済も作れます。
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
ただ、今回の講義では3の中のデータの登録と一覧の機能を作ってみましょう。わかりやすいように蔵書管理システムを作りながら学んでいきます
![牛山くん](https://canit.jp/wp-content/uploads/2021/01/canit-character3.jpg)
猫田さん、先に1章のRuby on Railsの部分を復習したほうがいいかもしれませんよ
![猫田さん](https://canit.jp/wp-content/uploads/2021/01/canit-character2.jpg)
キャニット先生が説明している間に、復習してきました! よし、それでは今回も行ってみよー
Ruby on Railsを始めるための準備
![パソコン](https://canit.jp/wp-content/uploads/2021/02/laptop-2443739_640.jpg)
準備①:sqlite3とnodeとyarnのインストール
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
まずは、Ruby on Railsに必要なものをインストールしていきますよ
このバージョンのRubyは、sqlite3とnodeとyarnを手動でインストールしないといけません。古いバージョンだとこの辺のインストールは不要です。そのうちこのバージョンでも全自動になると思われます。
sqlite3のインストール
sqlite3は、
から、DownLoadを選んで、
をダウンロードして、適当なディレクトリで、
unzip sqlite-snapshot-20210311616.tar.gz
tar xvf sqlite-snapshot-20210311616.tar
cd sqlite-snapshot-20210311616
./configure
make
でsqlite3が出来上がります。
nodeのインストール
nodeは、
からWindows Installer(.msi)を選んでインストールします。
yarnのインストール
yarnは、
![](https://classic.yarnpkg.com/assets/og_image.png)
から、
npm install –global yarn
を使ってインストールします。PATHにsqlite3とnodeとyarnがあるディレクトリを追加します。
![牛山くん](https://canit.jp/wp-content/uploads/2021/01/canit-character3.jpg)
できました!
![猫田さん](https://canit.jp/wp-content/uploads/2021/01/canit-character2.jpg)
わたしもできました。 すでにやり遂げた感しかありません
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
まだなにも始まってませんよ(笑) では、続いて今回の目的であるRuby on Railsをインストールしましょう
準備②:Ruby on Railsのインストール
![パソコン](https://canit.jp/wp-content/uploads/2021/01/office-820390_640.jpg)
msys上で、
gem install rails -v “6.1.3”
と打つだけです。-vはバージョンの意味です。ここでは6.1.3を採用しました。
![](https://canit.jp/wp-content/uploads/2021/03/install-1024x571.jpg)
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
はい。ここまでで準備は終了です
![猫田さん](https://canit.jp/wp-content/uploads/2021/01/canit-character2.jpg)
よっしゃー!
Ruby on Railsを使ってアプリケーションを作成しよう
![パソコン](https://canit.jp/wp-content/uploads/2020/12/laptop-1104066_640.jpg)
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
では、実際にRuby on Railsを使ってアプリケーションの作成を始めていきます。今回はbookという名前にしました
msys上で、
rails new book
と打ってください。
これだけで、アプリの枠組みが一気に出来上がります。終了時の画面を挙げておきます。
![](https://canit.jp/wp-content/uploads/2021/03/book-2-1024x571.jpg)
bookというディレクトリが出来て、その下に大量のファイルが自動生成されていると思います。
①:サーバーの起動
msysの端末から、
cd book
rails server
と打ちます。これでこのコンピューターをサーバー(ユーザーからの接続を管理する機能)として使う準備ができました。このrailsプログラムに外から接続するわけです。
![](https://canit.jp/wp-content/uploads/2021/03/server-1024x571.jpg)
この状態で、ブラウザから、
をアクセスすると、
![牛山くん](https://canit.jp/wp-content/uploads/2021/01/canit-character3.jpg)
出てきました。今のところ順調ですね
サーバーを止めるときはmsysの画面でctrl-cを打ってください。サーバーを再起動する前に、
タスクバーで右クリック→タスクマネージャー→(「詳細(D)」ボタン)→「プロセス」タグ
から、
Ruby interpreter(CUI)2.7.2p137 [x64-mingw32]
を選択(クリック)して、下のタスクの終了ボタンを押してください。
②:データベースのスキーマの指定
![パソコン](https://canit.jp/wp-content/uploads/2021/01/3250067_s.jpg)
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
さて、次はデータベースのスキーマを指定するのですが、何をやっているのかわかりづらいと思うので簡単に説明しますね
データベースとは
大量の同型のデータを高速に安全に使うプログラムがデータベース(DB: database)です。データベースにもいろいろな種類があるのですが、もっともよく使われているRDB(リレーショナルデータベース、Relational Database)を使います。
ちなみに、「同型の」データと書きましたが、データの形は統一されていないといけません。
蔵書アプリを作るために必要なデータは?
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
では、ここから蔵書管理のためにどんなデータが必要なのか、考えてみましょう
![牛山くん](https://canit.jp/wp-content/uploads/2021/01/canit-character3.jpg)
そうですね。まずはタイトルと著者名でしょうか
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
その2つは大事ですね。 あとは……せっかくなので、購買日、出版日、価格も入れましょう。 ここまで押さえておけば、間違えて同じ本を二度買うことはなくなると思います
それぞれの管理方法
- 書名と著者は文字列
- 購買日と出版日は日付
- 価格は整数
日付は初めて出てきましたが、日付を管理する専用のデータ型です。日付順に並べることができます。
次に変数名を決めましょう。
変数は、それぞれ書名:title, 著者:author, 購買日:purchase_date, 出版日: date_of_publication, 価格:priceにします。
そして、ここでscaffoldという機能を使うと一気にスキーマ(データ構造)を作ることができます。具体的には、msys上で、
rails generate scaffold publications title:string author:string purchase_date:date date_of_publication:date price:integer
と打ちます。
![](https://canit.jp/wp-content/uploads/2021/03/publication-1024x458.jpg)
③:テーブルの作成
次はテーブル(データベースの一部分です。Excelでいうとシートに当たります。データベース自身はExcelのブックに当たります。)の作成です。msys上で、
rake db:migrate
と打つだけです。
![](https://canit.jp/wp-content/uploads/2021/03/rake-1024x458.jpg)
④:ローカル環境での実行
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
では、いよいよローカル環境で実行してみましょう
rails server
と打って、ブラウザから、
にアクセスしてみてください。
![猫田さん](https://canit.jp/wp-content/uploads/2021/01/canit-character2.jpg)
んん? なんも出てきませんよ?
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
まだなにも登録していませんからね。 では、登録をしてみましょうか
New Publication
をクリックして登録してみてください。
こんな感じです。最後に、
Create Publication
を押すと登録完了です。
登録内容に修正がある場合は、
Edit
で戻れます。
Back
を押すと、メイン画面に戻ります。
![猫田さん](https://canit.jp/wp-content/uploads/2021/01/canit-character2.jpg)
おおおおお、なんかそれっぽいものができましたねぇ
右側の、
Show
を押すと、個別データを見ることができます。
Edit
を押すと、編集画面に飛びます。
Destroy
ボタンを押すと、そのデータが削除できます。
たくさんRuby on Railsに触れていこう!
![パソコン](https://canit.jp/wp-content/uploads/2020/12/girl-3718517_640.jpg)
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
では、以上で今回の講義は終了です。webシステムの中核部分をRuby on Railsで作ってみましたが、どうでしたか?
![牛山くん](https://canit.jp/wp-content/uploads/2021/01/canit-character3.jpg)
実際に動かすと面白いですね
![猫田さん](https://canit.jp/wp-content/uploads/2021/01/canit-character2.jpg)
なんか、いろいろできそう!
![CANIT先生](https://canit.jp/wp-content/uploads/2021/01/canit-character.jpg)
今回は、データ登録の説明だけでしたが、認証や決済も作れるのでぜひ挑戦してみてください。いろいろと試して、Ruby on Railsに慣れていくのが大切ですよ