Railsアプリケーションを作成する
Rails を使ってアプリケーションを作成する場合、何もないところから作成していくのではなく、アプリケーションの基本部分を自動で作成した上で、修正を加えていく方法で作成します。ここでは Rails を使ってアプリケーションを実際に作成してみます。
(Last modified: )
目次
アプリケーションを配置するディレクトリを用意する
Rails を使ってアプリケーションを作成すると、数多くのファイルが自動で作成されます。まずはアプリケーションで作成されたファイルを配置するディレクトリを用意します。
今回は c:\code\rails というディレクトリを作成しました。作成したアプリケーション毎に、このディレクトリの下にサブディレクトリが作成されて、必要なファイルが格納されます。
アプリケーションを作成する
それではアプリケーションを作成します。コマンドプロンプトを起動し、先ほど用意したアプリケーションを配置するディレクトリへ移動してください。
それでは rails コマンドを使ってアプリケーションを作成します。書式は次のとおりです。
rails new アプリケーション名 [option]
例えば books という名前のアプリケーションを作成する場合は次のように実行します。
rails new books
アプリケーション名には明確なルールはないですが、単一の単語でアルファベット及び数字を使い、小文字で指定されることをおすすめします。例えば memo とか diary などで、 MyDiary や my_diary などは避けてください。
オプションはいくつかありますが、例えばアプリケーションで使用されるデフォルトのデータベースを指定することができます。(省略した場合は SQLite が使用されます)。オプションはまた別のページで詳しく解説します。
なお Rails を使用している Windows 上で Git がインストールされていないと「No such file or directory - git config init.defaultbranch」というエラーが発生するため、 Git をインストールされていない場合はオプションとして「-G」または「--skip-git」を付けてください。(このページの最後でもう少し細かく解説します)。
rails new books --skip-git
ではコマンドプロンプトから「rails new books --skip-git」と実行してください。
次のように色々なファイルが作成されていきます。
ファイルの作成が終わると「bundle install」が自動で実行されます。(bundle installについては別のページで解説します)。
最後に次のように表示されてアプリケーションの作成は完了です。
アプリケーションのファイル構成
アプリケーションを作成すると、指定したアプリケーション名と同じ名前でディレクトリが作成されます。
ディレクトリの中にはアプリケーションで使用する数多くのファイルが作成されて格納されています。
「No such file or directory - git config init.defaultbranch」エラー
Rails で新しいアプリケーションを作成すると自動で Git 管理が行われます。そのため、 Rails を動かしている Windows 上で Git がインストールされていない状態で rails new を実行すると「No such file or directory - git config init.defaultbranch」というエラーが発生します。
エラーを回避する方法としては(1)Windowsに Git をインストールする、(2)Git 管理をスキップするようにオプションを指定する、のどちらかです。 Git 管理をスキップする場合はオプションとして「-G」または「--skip-git」を付けてください。
このオプションについてヘルプには次のように記載されています。
-G, [--skip-git] # Skip git init, .gitignore and .gitattributes
現在 Windows 環境に Git をインストールしていないので、今後 Rails でアプリケーションを作成するときは次のどちらかの形式で実行します。
rails new アプリケーション名 -G rails new アプリケーション名 --skip-git
-- --
Rails を使ってアプリケーションを実際に作成し、 Rails アプリケーションの作成手順について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。