どうも、ウェブ系ウシジマくんです。今回は、これからRubyonRails(以下、Railsと表記)を学んでいこうとしている初心者/初学者の方に向けて、最低限抑えておきたい基礎項目について書いていきます。
項目は多いですが、一度で覚えようとしなくて大丈夫。少しずつでいいので、触りながら覚えて行けば確実に身についていきます。
わからなくなったときに何度でも見返して、着実に力をつけていきましょう!
railsのバージョンを固定してrails_newする
ドットインストールのような動画学習サイトや、Ruby on Rails 5アプリケーションプログラミングのような書籍で勉強するとき、同じように開発するためにはRailsのバージョンを合わせる必要があります。
その際に必要なのが以下のコマンド。これを実行することで、Railsのバージョンを固定した状態で新規プロジェクト(Railsアプリケーション)を作成できます。
rails _バージョン_ new アプリ名
開発現場では、バージョンを固定してプロジェクトを立ち上げることが多いので覚えておきましょう。
railsのディレクトリ構成
Railsで新規プロジェクトを作成して中身を見てみると、以下のようなディレクトリ(フォルダ)構成になっています。それぞれがどこに対応しているのか、学習する中で少しずつ覚えていきましょう。
- app/ モデル、ビュー、コントローラ、ヘルパーなどを含む主要なアプリケーションコード
- app/assets アプリケーションで使用するCSS (Cascading Style Sheet)、JavaScriptファイル、画像などのアセット
- bin/ バイナリ実行可能ファイル
- config/ アプリケーションの設定
- db/ データベース関連のファイル
- doc/ マニュアルなど、アプリケーションのドキュメント
- lib/ ライブラリモジュール
- lib/assets ライブラリで使用するCSS (Cascading Style Sheet)、JavaScriptファイル、画像などのアセット
- log/ アプリケーションのログファイル
- public/ エラーページなど、一般(Webブラウザなど)に直接公開するデータ
- bin/rails コード生成、コンソールの起動、ローカルのWebサーバの立ち上げなどに使用するRailsスクリプト
- test/ アプリケーションのテスト
- tmp/ 一時的なファイルを保存する
- vendor/ サードパーティのプラグインやgemなど
- vendor/assets サードパーティのプラグインやgemで使用するCSS (Cascading Style Sheet)、JavaScriptファイル、画像などのアセット
- README.rdoc アプリケーションの簡単な説明。マークダウン形式で記述されている。
- Rakefile rakeコマンドで使用可能なタスク
- Gemfile このアプリケーションに必要なGemの定義ファイル
- Gemfile.lock アプリケーションのすべてのコピーが同じgemのバージョンを使用していることを確認するために使用されるgemのリスト
- config.ru Rackミドルウェア用の設定ファイル
- .gitignore Gitに取り込みたくないファイルを指定するためのファイル
Gemのバージョン指定について
RailsでGemを導入する際には、次のように記述することでバージョンを固定したり、どこまでバージョンアップを許すかを指定できます。
- gem ‘xx’ ‘>= 1.3.0’…バージョンが1.3.0以上なら、最新のバージョンにアップデートする(メジャー・マイナー問わずアップデートを実行)
- gem ‘xx’ ‘~> 1.3.0’…バージョンが1.3.0以上1.4.0未満ならバージョンをアップデートする(マイナーアップデートのみ実行)
- gem ‘xx’ ‘1.3.0’…バージョンを1.3.0で固定する
rakeコマンドについて
Railsのバージョンが5系の場合は’rails’コマンドで全て実行できるようになったのであまり関係ないですが、以前のバージョンではrakeというコマンドが必須でした。これはRails内で処理を実行するときに必要なコマンドで、’bundle exec’と組み合わせて使われます。あ、Rails5系でも動作するコマンドしますよ。
ちなみに、次のようなrailsコマンドは、Rails4系でもbundle execなしで動作することを覚えておきましょう。
#### railsコマンドとは
- アプリケーションの作成(rails new)
- モデルの生成(rails generate model)
- マイグレーションの生成(rails generate migration)
- ローカルでサーバを起動(rails server)
- プラグインをインストール(rails plugin install)
- 自動生成したファイルの削除(rails destroy)
- アプリケーションに必要なコントローラ、モデル、ビューをまとめて生成(rails generate scaffold)
- コントローラの生成(rails generate controller)
- コンソールを起動(rails console)
- データベースクライアントを起動(rails dbconsole)
- Rails環境で動かすバッチ処理(rails runner)
railsにおけるモジュールの使い方
Rubyではモジュールを使用する際にinclude
を書かないといけませんが、railsでは書かなくてもhelperに定義したメソッドなら自動的にincludeしてくれるので記述不要です。
まとめ
完結にまとめてみましたが、「正直量が多いな〜」と感じた方も多いと思います。それでも繰り返し学習して行けば、自然と使いこなせるようになるはずです。
暗記するよりも、実行するコマンドの挙動を確認し、理解して実行することがプログラミング上達の近道であると覚えておいてくださいね。
ブックマークやLINEなどにメモしてもらって、スキマ時間に見返すことをオススメします。
それでは今回はこの辺で。
ありがとうございました。