Rubyを操作する場合、コマンドラインやターミナルを使いますが、Ruby on Railsを操作する場合も同じです。Rubyエンジニアを目指すなら、Ruby on Railsのコマンドをマスターしましょう。今回はRuby on Railsのコマンドをマスターしたい方のために、基本的な使い方を解説します。
railsコマンドの基本
Ruby on Railsは、プログラミングRubyで書かれたWebアプリ開発用のフレームワークですが、インストール先に開発に必要なファイルが全て展開される訳はなく、railsコマンドを利用してWebシステムに使用するファイルを用意します。さらに、railsコマンドには多くの機能があり、簡単な実行やテストなども可能です。
次からrailsコマンドの基本について紹介します。
railsコマンドとは
Ruby on RailsはWebシステム開発用のフレームワークですが、Webシステムを構築するためのスクリプトや、Webシステムをチェックするためのスクリプトなどが用意されており、それらを操作してWebシステムに使うファイルを作成します。
そしてRuby on Railsに用意されたスクリプトを操作するためのコマンドがrailsです。Ruby on Railsをインストールしたら、ますはrailsコマンドが使えるかをチェックしてください。次のコマンドで、Ruby on Railsのバージョンを表示できます。
Ruby on Railsのバージョンを表示するコマンド
$ rails --version または $ rails -v
railsはコマンドラインから操作する
LinuxなどでRubyを使う場合、通常ターミナルなどを使い、コマンドラインからスクリプトを指定して実行します。また、RubyGemsからRuby用のライブラリをインストールする場合はコマンドラインからgemコマンドを利用します。同じようにrailsコマンドを利用する場合もコマンドラインを使用します。
なおコマンドラインを使用する場合、ターミナルなどでキーボードからテキストを打ち込んで実行するスタイルで利用します。慣れないうちは、railsコマンドの実行結果が画面から消えてしまうなど、使い難いと思われるかもしれません。Ruby on Railsではrailsコマンドをよく使うので、このようなターミナルウィンドウの操作に慣れておきましょう。
railsコマンドの使い方
Ruby on Railsを操作するにがrailsは、引数にコマンドとそのコマンドに対応したオプションを指定して実行します。なお利用できるコマンドは、下記のように–helpオプションを指定して実行することで表示できます。
railsコマンドのヘルプ表示の一部
$ rails --help Usage: rails new APP_PATH [options] ... Example: rails new ~/Code/Ruby/weblog
よく使われるrailsコマンド
railsコマンドから使える機能はたくさんありますが、よく使う機能と滅多に使わない機能とがあり。コマンドによっては直前に調べれば済むものも少なくありません。
とはいえ基本的なコマンドを使い方は同じです。よく使うコマンドの使い方はマスターしておきましょう。次からよく使われるrailsコマンドとその使い方を紹介します。
rails new
Ruby on Railsの新しいアプリケーションを作成するコマンドがnewです。次の例のように、rails newに続いてアプリケーション名を指定します。
rails newコマンドの使用例
$ rails new sample_app
なおRuby on Railsのデフォルトのデータベースはsqlite3です。これをmysqlに変更するには、-dオプションを使用します。
データベースをmysqlとしてrails newコマンドを使用する例
$ rails new sample_app -d mysql
rails server
Ruby on RilasにはWebサーバーの機能が組み込まれており、簡単なテストならこのWebサーバーを利用してWebブラウザに表示させることが可能です。このWebサーバーを起動するコマンドがrails serverです。
rails serverコマンドの使用例
$ rails server
なおrails serverのserverは、sだけで代用できます。
$ rails s
rails generate
rails newコマンドを実行すると、Ruby on Railsに必要最低限のディレクトとファイルによる土台が作られますが、それだけではWebシステムは作れません。土台の上に構築する基にあるファイルを作るコマンドがrails generateです。
Ruby on RailsはMVCアーキテクチャーによるフレームワークです。WebシステムをRuby on Railsを利用して開発するにはモデル、ビュー、コントローラーに分けて構築していきます。rails generateコマンドをそれらに必要なファイルをまとめて作成してくれます。
rails generateコマンドの使用例
$ rails generate controller top
上記のコマンドは、topという名前のコントローラーとそれに対応するビューで使われるファイルを作成します。なおこのコマンドのserverは、gだけで代用可能です。
$ rails g controller top
rails destroy
先ほどrails generateでコントローラーなどを作成するコマンドの使い方を紹介しましたが、rails destroyそれを削除するコマンドです。rails generateで指定した名前を指定することで、それに使われるファイルを削除します。
rails destroyマンドの使用例
$ rails destroy top
このコマンドのdestroyは、dだけで代用可能です。
$ rails d controller top
rails dbconsole
Ruby on RailsのMVCアーキテクチャーにおける最初もMはモデルのことで、モデルはデータベースとやり取りし、データを取得したり保存する機能です。つまりRuby on RailsでWebシステムを構築するにはデータベースを操作しなければなりません。
Ruby on Railsからデータベースを操作するコマンドが、rails dbconsoleです。このコマンドを実行することで、Ruby on Railsに設定されたデータベースのクライアントが起動します。
rails dbconsoleマンドの使用例
$ rails dbconsole
このコマンドのdbconsoleは、dbだけで代用可能です。
$ rails db
Ruby on Railsからデータベースを操作する
Ruby on Railsで構築するWebシステムはデータベースと密接に連携しています。そのため先ほど紹介したrails dbのようなコマンドの他に、railsにはデータベースを操作するコマンドも用意されています。
例えば、データベースを作成する際、rails db:createコマンドが利用できます。
rails db:createコマンドの使用例
$ rails db:create
その他に、データベースに対する直前の変更を取り消すrails db:rollback、データベースを削除するrails db:dropといったコマンドもあります。
まとめ
Ruby on RailsによるWebシステムの開発に使われるパソコンで、コマンドラインやターミナルを使う機会はほとんどないかもしれません。しかし、Rubyを実行する環境設定やRuby on Railsの設定などは、キーボードからコマンドを入力して操作するのが基本です。
ターミナルなどから操作するRuby on Railsのコマンドの使い方をマスターし、railsコマンドを自在に使いこなせるエンジニアになりましょう。