1|2|3RailsコマンドとRake最後に、Railsアプリケーション開発でよく利用するrailsコマンドとrakeについて紹介します。railsコマンドには、new以外にもいろいろなサブコマンドが用意されています。使用するサブコマンドには以下のようなものがあります。s”)Railsサーバーを起動Railsコンソールとは、Railsの環境をロードした状態で対話的にRubyコードを実行できるツールです。Railsサーバーを起動すると、アプリケーションが立ち上がり、ブラウザから利用することができるようになります。-h」で確認することができます。generateコマンドについて、さらに詳しく見ていきます。generateコマンドを使ってさまざまなコードを生成することができます。実行する際には引数にジェネレータを指定します。使用するジェネレータには以下のようなものがあります。price:integermodel(モデルを生成します)上記を実行すると、モデル(app/models/item.rb)と後述するマイグレーション(db/migrate/20110211XXXXXX_create_items.rb)が作られます。いう名前のモデルが作られます。ItemsControllerというコントローラー(app/controllers/items_controller.rb)が作られ、さらにそのアクションとして、recentメソッドが定義されます。"items/recent")が追加されます。description:stringmigration(マイグレーションを生成します)Railsのマイグレーションとは、データベースのスキーマに対する個々の変更をそれぞれ対応するファイルにRubyコードとして記述するもので、複数の開発者の間でスキーマの変更を共有し、効果的に管理するのに役立ちます。上の例では、itemsテーブルにdescriptionという名前の文字列型のカラムを追加するマイグレーションが作られます。マイグレーションファイルの中身やコマンドの使い方については後で詳しく説明します。RakeについてRakeとはRuby製のビルドツールです。MakeのRuby版ということでこの名前が付いています。“タスク”という単位で処理を記述し、それらの依存関係を定義することができます。rakeコマンドを使ってそれらのタスクを実行します。rakeコマンドは、カレントディレクトリにあるRakefileという名前のファイルを読み込んで処理を行います。Railsアプリケーションの開発では、このRakeを使用してさまざまな処理を行います。独自にrakeタスクを定義したい場合は、lib/tasks以下に.rakeという拡張子を付けたファイルを配置し、そこにタスクを記述します。-T)を実行することで確認できます。データベース関連のrakeタスクデータベース関連のrakeタスクには“db:”というネームスペースが付けられています。データベースのマイグレーションを行うには、以下を実行します。db:migrateマイグレーションの現在の状態を確認するには次のようにします。items一度実行したマイグレーションを取り消してデータベースを1世代前の状態に戻すには次のようにします。db:rollback引数に「STEP=n」を付けることで何世代戻すかを指定することができます。STEP=2URLをアクションに結びつける“ルーティング”Railsでは、ユーザーからのリクエストのインターフェイス部分、すなわち、URLやHTTPメソッドをどのコントローラーのどのアクションに結びつけるかを、config/routes.rbで定義します。このマッピングのことをルーティングと呼びます。routes.rbでの記述は、複数のマッピングを1行で記述するなど、プログラムとしての側面が強く、最終的にどのようなマッピングが定義できているかを網羅的に把握することができません。routesを実行するとconfig/routes.rbに定義されているルーティングの情報が整形されて出力されます。:action=>"recent"}引数に“CONTROLLER=コントローラー名”を付けることで絞り込むことができます。CONTROLLER=itemsツールをより快適に使う以上のように、railsコマンドやrakeはRailsアプリケーションを実装する上で欠かせない便利なツール群です。コマンドの実行のたびにRailsアプリケーションをロードするので、毎回少し時間がかかってしまいます。それを解消するために本記事の筆者の1人である@jugyoが作ったツールが「rails-sh」です。rails-shは、あらかじめRailsアプリケーションをロードした状態で起動するコマンドラインシェルのようなものです。rails-shを使うと、Railsの各種コマンドをすばやく実行することができます。routesの実行が、rails-shで1秒ほどに短縮できました。GitHub今回のまとめ本記事では、Railsの概要を理解するために、RailsにおけるMVC、Railsアプリケーションの構造、開発に頻繁に利用するrailsコマンド、rakeコマンドを解説しました。これらに関連して、マイグレーションやルーティングといった概念についても簡単に触れました。本記事を通じて、Railsアプリケーションがどのような構造になっているのか、どんなツールを使いながら開発していくのかのイメージを持っていただけたなら幸いです。次回は、Railsを構成するコンポーネントを概観し、その中で汎用的に利用されるActiveSupportについて詳しく見ていきます。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。