さらなる高みへ -higher ground -

プログラミング学習の定着を狙いとしたアウトプット(独り言)をしてみるブログ

新規アプリケーションの作成【Ruby on Rails2】

これからPicTweetというTwitter風のアプリの作成に入る。
まずアプリの土台作りから入っていきたい。

rails newの実行

Railsを使用するとコマンド1つでアプリの動作に必要な共通のファイルを一気に作成することができる。
この機能があるため、Railsを使うと効率的なアプリ開発が可能となる。

ターミナルで以下のコマンドを実行してみる。

1
2
$ rails _5.2.1_ new pictweet -d mysql
 

実行後、以下のようになっていることが確認できる。

https://tech-master.s3.amazonaws.com/uploads/curriculums//495b4ebbb598525f8d6a445f38d02ddc.png

rails newコマンド

rails newコマンドを実行するとアプリのひな型を作成することが出来る。

今ターミナルで入力したのはrails newというコマンドにオプションを指定したものである。

オプションの意味は下記の通りである。

https://tech-master.s3.amazonaws.com/uploads/curriculums//8507704c2f9d6729f51bd6d2e17a65cd.png

Cloud9でディレクトリを確認

Railsで新規アプリケーションを作成するとアプリケーション名のディレクトリいかにファイルが作成される。

「pictweet」の左側の矢印をクリックして開いてみる。

https://tech-master.s3.amazonaws.com/uploads/curriculums//7ef0074267f1f155667bfb29cbd292ba.gif

Railsの開発では多くのファイルを扱うため、ディレクトリごとに分類されている。

多くのファイルが作成されているが、主要なものは意外と限られている。

よく使うファイルはどこに保存されているのか、作業効率向上のために覚えてしまう方が良い。

フォルダ・ファイル名 内容
app(フォルダ) もっともよく使うフォルダです。中にMVCそれぞれのフォルダが格納されています。
app/controllers(フォルダ) コントローラーのファイルが入っているフォルダ。
app/models(フォルダ) モデルのファイルが入っているフォルダ。
app/views(フォルダ) ビューのファイルが入っているフォルダ。
config/routes.rb(ファイル) ルーティングの設定用ファイル。
db/マイグレーションファイル マイグレーションファイルを作成するとこのフォルダに格納される。ファイル名はそれぞれ異なる。
Gemfile(ファイル) Gemファイルをインストールするための設定ファイル。
ディレクトリの移動操作について

Railsで開発を進めていく中で、linuxコマンドの「cd」や「ls」コマンドを頻繁に使用するようになる。

Gemとは

Railsには「Gem」と呼ばれる「ライブラリ」が用意されている。
ライブラリとはプログラムのコードをひとまとめにして再利用しやすくしたものである。

Gemには開発を効率化してくれたり、会員登録サービスが簡単にできるための便利なものが多くある。

Railsアプリケーションは全てをゼロから作るのではなくGemのライブラリも利用することでより効率的に開発できる。

Gemのインストール

RailsでGemを追加するには「Gemfile」というファイルにインストールしたいGemのファイル名を追記し、「bundle install」コマンドを実行する必要がある。

「bundle install」コマンドは「bundler」と呼ばれるシステムを利用してGemをインストールするためのコマンドである。

Gemfileに記述するだけではGemを使えるようにならないため、忘れずに実行する。

Gemfileの編集

mysql2とsass-railsというgemの名前を見つけて、その横の数字を以下の通り編集する。

source 'https://rubygems.org'

...
(中略)
...

gem 'mysql2', '0.5.2'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0.7'

...
(中略)
...

  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
end

「pictweet/Gemfile」の以下のような記述を、一番下に追記する。

source 'https://rubygems.org'

...
(中略)
...

gem 'mysql2', '0.5.2'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0.7'

...
(中略)
...

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

gem 'pry-rails'
gem 'compass-rails', '3.1.0'
gem 'sprockets', '3.7.2'
gem 'hirb'
gem 'hirb-unicode'

ここで行ったのは、以下2点である。

  • 初めからインストールされているGemに加えて5つのGemを追加した。
  • 「mysql2」「sass-rails」というGemに対してはバージョン指定を行った。
bundle installを実行する
$ pwd
# pictweetフォルダにいることを確認する

$ bundle install

pwdを実行して、カレントディレクトリがpictweetでなかった場合は、以下のコマンドを実行する。

$ cd ~/environment/pictweet

Gemfileを編集したので、インストールするためにbundle installを実行する。
このような文字とプロンプト(入力待ちの$記号)が表示されれば成功である。

 

【要点】