はじめに
- 前回の続きです。
-
Ruby
がひと通り触れることが前提です。 - 新規で
Rails
アプリケーションを立ち上げ、基本的な書き方・読み方を覚えることがメインです。 - 初心者にも分かりやすいように黒魔術を使わない。
- 今回は導入編ということでRailsの環境を構築してアプリケーションを作成する土台を作ります。
- 基本的にMac前提で進めていきます。
Railsとは
Rails
とはRuby
のフレームワークです。
フルスタックなので大体なんでも用意されています。
個人的にはORマッパーであるActiveRecord
が非常に優秀だと思っています。
Rails
= ActiveRecord
と言ってもいいくらい優秀です。
※ ORマッパーとは、「オブジェクト」と「リレーショナルデータベース」をマッピング(対応付け)するものです。簡単にいうとデータベースやテーブルの情報をオブジェクトとして紐付け、プログラム上で扱いやすくしてくれるもののこと。
環境構築
Mac
-
gem install bundler
- bundlerはグローバルインストール
- gemコマンドはrubyが入っていれば実行可能なはず
- Macデフォルトのrubyを使う場合にはsudoが必要
- グローバルなrubyではなくrbenv等でローカルのrubyを設定・使用することをオススメします
- http://dev.classmethod.jp/server-side/language/build-ruby-environment-by-rbenv/
mkdir path/to/work_directory
cd path/to/work_directory
bundle init
-
- railsのコメントアウトを外す
- railsのバージョンを指定(今回は最新安定版の4.2.3以上を指定)
-
bundle install --path=vendor/bundle
- 必ずpathオプションをつけること。でないとグローバルに入ってしまうので
bundle exec rails -v
これでrailsのバージョンが表示されれば無事にrailsが入ったことになります。
Windows
- インストーラーがあるのでそれを利用する
- Windowsでの環境構築は一般的に大変なので仮想環境を立ち上げ、その中で環境構築するのも1つの手です。
さぁRailsだ
cd path/to/work_directory
-
bundle exec rails new . -d mysql
- 今回はDBにmysqlを使います。入っていない人はmysqlを入れてください。
- Gemfileがコンフリクトするのでyで上書き
これでRailsアプリの基礎は出来上がりました。
余談
- ここらでプロジェクトをgit管理下においておきましょう
- これ以下は任意ですがやっといた方が絶対に良いです。
git init
-
.gitignore
に管理しないファイルを追記- vendor/bundle以下は管理しないのでignoreファイルに追記
git add .
git commit -m 'first commit'
gitは今回の記事の範疇を超えるので説明は特にしません。ご了承ください。
簡単なWEBアプリケーションを作ろう
とりあえずRailsに慣れるために簡単な操作が可能なアプリケーションを作ってみましょう(ここからbranch分けとくといいかも)
bin/rake db:create
bin/rails generate scaffold user login_code:string name:string password:string
bin/rake db:migrate
データベースを作成しユーザーモデルとそれを扱うコントローラー、テンプレートをまとめて作成しマイグレーションを実行する。
これで作られたデータベースにユーザーテーブルが作成されているはずです。
mysql -u root
show databases;
プロジェクト名_development
のデータベースが作成されていれば成功です。
※ DBの確認ですが、今回はユーザーをrootで指定していますが環境によっては異なります。
config/database.yml内でusernameとpasswordを指定してデータベースを作りなおしてみてください。
サーバを立ち上げて画面から確認してみよう
bin/rails server -p 3000
これでサーバが立ち上がったのでブラウザからアクセスしてみましょう。
localhost:3000/users
にアクセス。
以下のような画面が出れば成功
この画面から簡単なCRUD操作が可能なのでユーザーを作成したり編集したり削除したり、色々触ってみてください。
サーバーを停止させるには立ち上げたターミナルでCtrl-C
演習問題1
userと同様にcompanyについて作成してみましょう。
companyは企業名と住所と電話番号とメールアドレスの情報を持つとします。
おわりに
今回はこれで終わりです。
Railsを手元の環境に入れ、アプリケーションを作る土台が作りました。
次回は軽いMVCの話、Railsアプリケーションのディレクトリ構成、具体的なコードについて説明できたらと思います。
演習問題1解答例
bin/rails generate scaffold company name:string address:string phone_number:string mail_address:string
bin/rake db:migrate