更新日:
【Rails】 rails newの使い方とは?
rails newとは、新しいrailsアプリケーションを作成するコマンドです。このコマンドを実行するとrailsアプリケーションのひな形を自動で作成することができます。
rails newはターミナルで下記のように実行します。
1
$ rails new アプリケーション名 (オプション)
例えば、「pikawaka」という名前のアプリケーションを作成したかったら下記のように入力します。
1
$ rails new pikawaka
新規にアプリケーションを作るとき、rubyで土台となるファイルを一から作成していくのはものすごい大変な作業ですが、rails newコマンド
を使うとアプリケーションの土台となる大量のファイルを自動で作成することができ、開発効率が大幅にアップします。
rails newの使い方
この章では、rails new
の使い方について解説します。
使用するrailsのバージョンを指定する
下記のように記述するとrailsのバージョンを指定してアプリケーションを作成することができます。
1
$ rails _railsのバージョン_ new アプリケーション名
例えばrailsのバージョン5.2.1で作成したいときは下記のように記述します。
1
$ rails _5.2.1_ new pikawaka
バージョンを指定しないとインストールされている最新のrailsのバージョンでアプリが作成されます。newの後には書けないので順番を注意しましょう。
オプションを確認しよう
rails new実行時にオプションをつけると色々な指定をした状態でアプリのひな形を生成することができます。
主なオプションを確認してみましょう。
オプション | 説明 |
---|---|
-d | アプリケーションで使用するデータベースを変更する ※何も指定しないとsqlite3 |
-B | bundle installをスキップする |
-T | testを作成しない ※rails4で有効 |
--skip-test | testを作成しない ※rails5で有効 |
-f | 同名のファイルが存在するとき上書きでファイルを作成する |
-s | 同名のファイルが存在するときはスキップする |
-q | 進捗情報を表示しない |
-S | sprocketsを組み込まない |
--skip-turbolinks | turbolinksを無効化する |
--api | apiモードでアプリを作成 |
よく使うオプションの詳細を確認しておきましょう。
-dオプション
作成したアプリで使用するデータベースの種類を指定するオプションです。
オプションを使わない場合はsqlite3というデータベースで作成されます。
例えば、mysqlを使いたいときは下記のように記述します。
1
$ rails new アプリ名 -d mysql
アプリを作成した後にデータベースを変更するのは大変なので、アプリを作成するときに忘れずに選択しておきましょう。
-Tオプション
railsではデフォルトのテスト環境としてMinitestというものが用意されています。
このオプションを使用しないとアプリ作成時にtestフォルダが作成されます。
このオプションをつけるとtestフォルダを作成しないで、アプリを作成することができます。
※rails5からは「--skip-test」
-Bオプション
rails newを実行するとgemをインストールするbundle installコマンド
も同時に実行されます。
アプリ作成後、Gemfileを編集する必要があればその後にまたbundle installを実行するので、アプリを作成するときのbundle installは不要ですよね。そのときに指定するオプションです。
作成されるフォルダの内容を確認しよう
rails newで新規にrailsアプリケーションを作成すると自動でフォルダやファイルが作成されます。
たくさんファイルが作成されるので、よく使うファイルはどのフォルダに置かれているのかを覚えておくと良いでしょう。
今回は主に開くことになるフォルダをご紹介します。
appフォルダ
railsアプリケーション本体に関わるファイルが置かれているフォルダです。
このフォルダの中にさらに下記のフォルダがあります。
フォルダ名 | 中身 |
---|---|
assets | 画像やjavascript、stylesheetsファイルなど |
controllers | コントローラーファイル |
helpers | ヘルパーファイル |
mailers | メイラーファイル |
models | モデルファイル |
views | ビューファイル |
configフォルダ
railsアプリケーションの設定に関わるファイルが置かれているフォルダです。
データベースを作る際に参照されるdatabase.yml
やルーティングを定義するroutes.rb
ファイルなどがあります。
application.rb
ファイルにはアプリケーション共通の設定情報を記述します。
この中に定義されているモジュール名はrails new アプリ名
コマンドで入力したアプリ名と同じ名前がデフォルトで記述されます。
database.yml
ファイルには作成するアプリのデータベース名を定義するコードが記述されています。
上と同じようにこの部分はrails new アプリ名
コマンドで入力したアプリ名と同じ名前がデフォルトで記述されます。つまりデーターベース名はアプリ名と同名になります。
このフォルダの中にさらに下記のフォルダがあります。
フォルダ名 | 中身 |
---|---|
environments | 環境ごとの設定ファイル |
initializers | 初期化処理や設定情報のファイル |
locales | 国際化対応のためのファイル |
dbフォルダ
データベース関連のファイルが置かれているフォルダです。
マイグレーションファイル のバージョンを管理するschema.rb
ファイルやマイグレーションファイル が保存されているmigrateフォルダ
が置かれています。
publicフォルダ
静的に表示させたいファイルを保存しておくフォルダです。
検索エンジンのクローラーが自分のサイトにアクセスするのを制限するためのファイルであるrobots.txt
やサイト情報を検索エンジンに知らせるsitemap
などのファイルはこのフォルダに保存します。
アプリケーション作成の流れ
rails new
でアプリケーション作成した後は、基本的に下記の流れになります。
- rails newコマンドで新規railsアプリを作成
- 作成されるGemfileを編集
- bundle installコマンドを実行
- rake db:createコマンドでデータベースを作成
- routes.rbファイルにルーティングを定義
- その他必要なファイルの作成 ...
上は一例ですが、このような流れでアプリケーションは作成されます。
その最初に実行するコマンドがrails newコマンド
だということを覚えておきましょう。Ruby on Railsから学んでいる方も多いかと思いますが、こちらのチェリー本と呼ばれる書籍でRubyの基礎をおさえると学習スピードも早くなりますよ!
この記事のまとめ
- rails newコマンドは新しくrailsアプリケーションを作るときに使うコマンド
- アプリケーションの土台となる大量のファイルを自動で作成することができる
- 開発効率が大幅にアップする!