#Chaptrt2 Railsアプリケーションをのぞいてみよう
Windows10の環境構築
実習でHyperVマネージャーにより、仮想環境はすでにあり。
Ubuntu 18.04.3をインストール
rbenv 1.1.2-30-gc879cb0 Gitを使ってGitHubからをインストール。
Ruby 2.5.1 インストール
Rails インストール
Node.js のインストール
JavaScriptを用いる場合、効率よく配信するためにJavaScriptを圧縮する機能が備わっているが、そのためにJavaScriptランタイムが必要となるためにインストール。
PostgreSQL をインストールしセットアップ
PostgreSQLを起動。
sudo service postgresql start
sudo su postgres -c 'createuser -s {Ubuntuのログインユーザ}'
を打つと、以下のエラーが出た。
psql: FATAL: role “postgres” does not exist
{}無しでUbuntuのログインユーザー名を記載したらすんなり通りました。
scaffoldを使ってscaffold_appという名前で「ユーザー管理アプリケーション」をRailsのコマンドで自動生成させる。
rails new scaffold_app -d postgresql
rails new
コマンドはRailsアプリケーションのひな型を生成。
アプリケーションの名前をscaffold_app
と指定。
scaffold_appディレクトリと関連ファイルが生成されて、ログ出力される。
この後 bundle installが自動的に実行されて、Railsの実行に必要なgemがインストールされる。
データベースの作成。config/databese.ymlというファイルの定義をもとに。
bin/rails s db:create
「rails」ではなく「bin/rails」で、アプリケーションのルートディレクトリ直下のbinディレクトリにあるrailsというスクリプトを呼び出している。Gemfileどおりのgemを利用できる環境上でrailsコマンドを実行できる。
railsサーバー起動
bin/rails s
railsは標準のHTTPサーバとしてPumaを採用。
WEBブラウザでサーバーの起動を確認
アドレスバーにhttp://localhost:3000/を入力。
ユーザー管理機能のひな型を作る
「ユーザー」に関するscaffoldを自動生成。
bin/rails generate scaffold user name:string address:string age:integer
ユーザー管理機能に使うテーブルをデータベースに作成。
bin/rails db:migrate
ユーザー一覧画面を表示
http://localhost:3000/users
WEBブラウザへ上のURLを入力してアクセス。
重要だと思ったポイント
- ユーザーを管理するために必要な機能「CRUD」が生成されている。
「作成(create)」「読み出し(read)」「更新(update)」「削除(delete)」 - コードの通り道
Railsアプリケーションは、**MVC(モデル・ビュー・コントローラ)**という考え方で構成。
コントローラーが呼ばれる。コントローラーにはリクエストに対する処理が書かれている「アクション」と呼ばれるメソッドが定義(一覧画面にアクセスした際はidnexアクション)されている。