すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

Rails

【Rails】 rails newの使い方とは?

ぴっかちゃん
ぴっかちゃん

rails newとは、新しいrailsアプリケーションを作成するコマンドです。このコマンドを実行するとrailsアプリケーションのひな形を自動で作成することができます。

rails newはターミナルで下記のように実行します。

ターミナル | rails newの使い方
1
$ rails new アプリケーション名 (オプション)

例えば、「pikawaka」という名前のアプリケーションを作成したかったら下記のように入力します。

ターミナル | rails newの使用例
1
$ rails new pikawaka

新規にアプリケーションを作るとき、rubyで土台となるファイルを一から作成していくのはものすごい大変な作業ですが、rails newコマンドを使うとアプリケーションの土台となる大量のファイルを自動で作成することができ、開発効率が大幅にアップします。

rails newの使い方

この章では、rails newの使い方について解説します。

使用するrailsのバージョンを指定する

下記のように記述するとrailsのバージョンを指定してアプリケーションを作成することができます。

ターミナル | rails newの使い方
1
$ rails _railsのバージョン_ new アプリケーション名

例えばrailsのバージョン5.2.1で作成したいときは下記のように記述します。

ターミナル | rails newの使用例
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を使いたいときは下記のように記述します。

ターミナル | 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でアプリケーション作成した後は、基本的に下記の流れになります。

  1. rails newコマンドで新規railsアプリを作成
  2. 作成されるGemfileを編集
  3. bundle installコマンドを実行
  4. rake db:createコマンドでデータベースを作成
  5. routes.rbファイルにルーティングを定義
  6. その他必要なファイルの作成 ...

上は一例ですが、このような流れでアプリケーションは作成されます。

その最初に実行するコマンドがrails newコマンドだということを覚えておきましょう。Ruby on Railsから学んでいる方も多いかと思いますが、こちらのチェリー本と呼ばれる書籍でRubyの基礎をおさえると学習スピードも早くなりますよ!

この記事のまとめ

  • rails newコマンドは新しくrailsアプリケーションを作るときに使うコマンド
  • アプリケーションの土台となる大量のファイルを自動で作成することができる
  • 開発効率が大幅にアップする!