追記
■2019/5/3
・bundlerについて追記
・サーバー起動コマンドについて追記
どうも、Ruby on rails学習中のぼん(@wallkicker)です。
今回はRailsを使ったプロジェクトの開始からデータベースの接続までの
大まかな流れを、勇者タケシが冒険に出るまでに例えて書きたいと思います。
■開発環境:cloud9
■読んでほしい人:Railsでの開発を始める準備をしたい人
大まかな流れ
【実際の行動】
1:プロジェクトを作る
↓
2:プロジェクト内にgitを用意する
↓
3:サーバーを起動する
↓
4:データベース作る
↓
5:Railsサーバの起動と接続の確認
1:プロジェクトの作成
まず、自分のプロジェクトを作りましょう。
ゲームでいえば、自分の名前を付けた勇者のファイルを作るのと同じです。
rails new
コマンドによって、プロジェクトを作ることができます。
例として、プロジェクト名は勇者「Takeshi」としています。
1|$ cd ~/environment/
2|$ rails new Takeshi --database=mysql --skip-test
1行目:cloud9上では、作成したワークスペース名=environment
となるようです。
2行目:プロジェクト作成コマンド --オプション
という構成です。
ここで、2行目のコマンドを入力するとbundle install
も自動的に実行されます。
bundle install
を別で実行する場合は
--skip-bundlebundle
のオプションをつけることでスキップが可能です。
※install
については下記の【bundleについて】に記述しています。
【オプションについて】
プロジェクトを作成する際に、オプションをつけることができます。
ゲームでいえば、操作する際のキーコンフィングを設定するのと同じです。
--database=mysql
:MySQLを使用する。
--skip-test
:自動テストをスキップする
ここで、--database=mysql
を記載しない場合、sqlite3を使用することになります。
記載しない場合が下記です。adapter: sqlite3
となっていますね。
default: &default
adapter: sqlite3
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
--database=mysql
を記載した場合は下記のような表示になるはず。
adapter: mysql2
となっていますね。
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password:
host: localhost
【bundlerについて】
RubyやRailsで使用するライブラリの管理ツール。
Gemfileにライブラリ名とバージョンを記述することで
bundle install
のコマンドにより一括インストールが可能。
2:gitでバージョン管理を開始
バージョン管理を行うために、gitを準備しましょう。
ゲームでいえば、セーブ機能を使うための準備です。
gitがなければ、選んだ道とは異なる道を選択しようとしても
ロードして戻ることができません。
まず、作成したプロジェクトのディレクトリへ移動します。
$ cd Takeshi
下記コマンドにより、Takeshi内にgitを準備します。
$ git init
$ git add .
$ git commit -m "init Rails Project"
3:サーバの起動
作成したプロジェクトとデータベースの接続を行います。
剣や回復アイテムを入れるための、
勇者の持ち物を入れるポーチの準備をします。
下記コマンドにより、サーバを起動します。
$ sudo service mysqld start
4:データベースの作成
作ったデータベースに、アプリケーション用のデータベースを作成します。
実際に、勇者のポーチを作ります。
$ rails db:create
5:Railsサーバの起動と接続の確認
勇者のポーチができているかどうかの確認です。
下記の画面が表示されれば、接続成功です。
$ rails s -b $IP -p $PORT
ここで上記のコマンドは下記の意味です。
rails s
: サーバー起動のためのコマンド。rails server
でも起動が可能。
-b
: IPを指定するためのオプション
-p
: ポートを指定するためのオプション。
$IP
と$PORT
は環境変数です。
ターミナル上でecho $IP
と入力することで現在の設定値を確認することができます。
さぁ、これで冒険に出る用意ができました!
プロジェクトの作成ができれば、MVCの作成に入ることができると思います。
ここまでの手順をテンポよくできるようにして、
効率よくアイディアを形にしていきたいですね。
それでは!