【Rails入門】consoleの使い方まとめ

長瀬来
書いた人 長瀬来
侍エンジニア塾ブログは、未経験からWebアプリ開発と仕事獲得をサポートする
侍エンジニア塾のオウンドメディアです。
プログラミング学習を覗き見

こんにちは! フリーエンジニアの長瀬です。

みなさんはconsoleを使っていますか?

consoleを使いこなせるようになれば、たくさんの便利な機能があるので、開発効率を上げてくれること間違いなしです。

この記事では、consoleの使い方について

・consoleとは
・consoleで簡単な計算をしてみよう
・環境を指定して起動する方法
・名前付きルートのURLを確認する
・logの出力をカスタマイズする方法

という基本的な内容から、

・データベースを操作する方法
・pryのインストール方法
・pryの便利なコマンドまとめ

といった応用的な内容についても解説していきます。

consoleとは

console使えばrubyのプログラムを実行できたり、データベースを直接的に操作できたりとさまざまな便利なことができます。

また標準のconsoleのツールであるirbからpryに変更すれば、高速にルーティングや、モデルの内容を確認できるようになったりと機能が拡張できるのでとても使い勝手が良くなります。(pryの導入については後半に説明します)

このようにconsoleには様々なメリットがあるので、使いこなすことはRailsで開発していく上で必須のスキルです。

なので、この記事を読んでしっかりと使い方をマスターしておきましょう。

consoleで簡単な計算をしてみよう

では、consoleを使って簡単な計算をしてみましょう。

コマンドプロンプトに以下のコードを入力してください。

このようにrails consoleと入力するとコンソールを起動できます。
また、終了するときは quitまたはexitでコンソールを閉じることができます。

そして、rails consoleはrails cと省略できるので、特別な理由がない限りはrails cと入力するようにしてください。

それでは、コンソールを開いた上で以下のコードを入力してみてください。

10までの数字を羅列するコードです。

[実行結果]

このように基本的な計算ができました。
この例に限らず、他の計算ももちろんできるので色々と試してみてください。

logの出力をカスタマイズする方法

Railsでは、ログのフォーマットを変更することができます。
詳しくはこちらの記事を参考にしてみてください。

名前付きルートのURLを確認する

さて、consoleでは名前付きのルートのURLを確認することができます。

まずは名前付きのルートを作成するためにscaffoldを使って、テンプレートのアプリを作成しましょう。

scaffoldについてわからない人こちらの記事を確認してください。

こちらのコードをコマンドプロンプトに入力してください。

[実行結果]

今回の説明に必要なファイルを作成することができました。

tomatoes_pathという名前つきルートが作成されているので、rails cでコンソールを開いた後に以下のコードを入力してください。

[実行結果]

このようにルーティングを確認できました。

また、以下のようにURLを求めることもできます。

[実行結果]

環境を指定して起動する方法

consoleでは実行環境を選択することができます。
デフォルトでは開発環境(development)になっています。

確認してみましょう。

コマンドプロンプトに以下のコードを入力してください。

[実行結果]

本番環境とテスト環境でconsoleを開く方法は以下の通りです。

また、sandboxを使えば、consoleを使用してもデータベースを最後に元の状態に戻すことができます。

なので、データベースを変更したくないときにはconsoleにsamdboxを指定してください。

sandboxを指定するには以下のようにします。

ためしに、さきほど作成したTomatoにデータを追加してみましょう。
rails c –sandboxを入力した後に以下のコードを入力してください。

そして、quitかexitでconsoleを終了してください。

すると、

のように出力され、データベースの変更がなかったことになったことがわかります。
(rollbackは巻き戻す、transactionはデータの変更の意味です。)

rollbackについて、理解を深めたい方はこちらの記事も参考にしてみてください。

データベースを操作する方法

レコードを追加する

コンソールからデータを追加するには、createコマンドを使うと便利です。
先ほどscaffoldで作成したTomatoモデルに値を追加してみましょう。

rails cでコンソールを起動した後以下のコードを入力してください。

これで、3件の新しいデータを追加できました。

レコードを削除する

先ほど追加したデータを削除してみましょう。

rails cでコンソールを起動した後以下のコードを入力してください。

find(idの数字)では、idによってレコードを取得できます。
それにdestroyをチェーンさせることで、任意のデータを削除できます。

この場合は3番目の”千利休”が削除されました。

ちなみに関連テーブルを含めずにすべて削除する場合は

で、関連テーブルごとすべて削除する場合は

を使用してください。

テーブルの内容を確認する

consoleでは、データベースのテーブルの中身を確認できます。

このように、whereメソッドなども使用できます。

whereと,findはこちらの記事で、丁重に説明してありますので、参考にしてください。

pryを導入する

pryとは

pryとは、標準のirbよりも機能的にすぐれた対話型ツールです。

なので、よほどの理由がない限り標準のirbでconsoleを使用するよりもpryを使用するようにしてください

pryを使えば、デバックがしやすくなったり(pry-byebug)、細かい動きを確認できるコマンドがたくさん使えるようになって、開発に超便利です。

pryのインストール方法

railsでpryを使用するにはpry-railsというgemをインストールする必要があります。
なので、Gemfileに以下のように追加してください。

追加できたら、bundle installを入力してgemを有効にしてください。

完了したら、rails cでコンソールを起動してpryと表示されるのを確認してください。

(今回はpry-stack_explorerやpry-byebugの使い方を紹介しませんが,それぞれpryを使う際には重宝するgemなのでついでに記載しました。)

pryの基本的なコマンドまとめ

show-model

show-modelは特定のモデルのカラム、データタイプを返します。

[実行結果]

show-models

すべてのモデルとそのカラム、データタイプを返します。

show-routes

rake routesよりも高速にルーティングを確認できる

show-middleware

アプリケーションで使用しているミドルウェアの一覧を表示

reload!

Rails環境全体をリロードする
いちいちconsoleをquitやexitする必要がなくなるので便利です。

recognize-path

ルーティングを確認できる(コントロールとアクションを出力する)

[実行結果]

find-method

find-methodではキーワードによって、メソッドを検索してくれます。

このように入力すると”form_”を含むメソッドが検索結果として返されます。
関連したメソッドを調べるときなどにも重宝します。

help

helpで、pryのメソッドを確認できる
かなり詳細に説明があるので、役に立ちます。

ドキュメントを参照する

pry-docをインストールしていれば、ri (定義されたもの) でドキュメントを参照できます。

ls cd

cdでオブジェクトに移動できて、lsでオブジェクトのメソットや変数を確認できる

特別なローカル情報

_で一つ前の結果を利用する

この場合_には36が代入されています。

_ex_
一つ前に発生した例外を返します。

_in__out_
pryの実行番号によって入力値と出力を再利用します。

tabでのコード補完

たとえば、cだけ入力してtabキーを押すと以下のように候補一覧が表示されます。

pryでHirbを自動化する

こちらの記事ではpryを使って、Hirbという表形式でconsoleにデータを追加できるgemを有効にするためのコードを自動化する方法を紹介しています。

まだの方はHirbの設定をしておくことをオススメします。

まとめ

いかがでしたでしょうか?

この記事では、consoleの使い方を解説しました。

consoleを使えば、rubyのコードが直接実行できたり、データベースを操作できたりと便利なことを理解いただけたと思います。

また、pryを導入すれば標準のconsoleを拡張してさらに便利な機能を加えられるので、Railsを使用する際には必ずインストールしておいてください。

pryのメソッドには今回紹介した以外にも、自分でメソッドを作成する機能など紹介しきれなかったものもありますので、気になる方はpryについて調べてみてください。

もしconsoleの使い方について忘れてしまったらこの記事を確認してくださいね!


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーランスをされている市川友哉さん。33歳で、プログラミングを学び始め、4ヶ月という短い期間でフリーランスエンジニアとして独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

非常識な結果を出した卒業生

活躍する現役エンジニア

人気記事セレクション

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

長瀬来

長瀬来

Unityを使ったiOSアプリのリリース、フリマサイト運営の経験があります。

経験した言語はC、C#、Javascript、R、Python、Ruby、PHPなど

言語が好きで、英語や中国、ドイツ語を勉強しました。
将来的には海外で生活したいです。

現在はRuby on Rails5やCocos2dxの勉強を主にしています。

ライターとしては
できるだけ初心者にわかりやすい文章になるように心がけています。

趣味は語学、読書です。