出典:魁!!男塾
こんにちは、Nanayakuです。
今回は、Railsコンソールについて解説していきます。
目次
Railsコンソールとは
railsコンソールとは、railsのサーバーを起動せずにrubyのコードを実行できるツールです。
railsアプリケーションを構築して行く中で、メソッドの動きを確認したい場合など、
「サーバーを起動」→「サーバー停止」→「変更」→「サーバー起動」・・・・
と毎回やっていたら、時間がかかり大変です。
railsコンソールは、railsアプリケーション内で定義したメソッドなどを実行することが出来ます。
これにより、書いたコードや色々なメソッドの動きを確認しながら、プログラムを構築していくことが出来ます。
また、デバッグでも役に立ちます。
エラーやバグの場所がわからない時、コードを1つ1つ確認していくことで、原因を突き止めやすくなります。
使い方
今回は、Railsのモデル・migrationについてで作成したモデルの動作確認をします。
起動
railsプログラムのディレクトリに移動し、
rails console
または
rails c
で実行することが出来ます。
画像のように表示されれば、railsコンソールが起動されました。
[1] pry(main)>
は「プロトコル」と呼ばれ、ターミナルの「$」と同じで、ここに実行したいコマンドを入力します。
モデルの作成
モデルの作成には、newメソッドを使います。
引数が無いので、全てのカラムにnillが入ったオブジェクトが返ってきました。
newメソッドは引数をカラムに渡すことが出来ます。
画像のように、引数のnameとemailがカラムに渡されました。
データベースに保存
上記のnewメソッドで生成したモデルは、データベースに保存はされていません。
保存するためには、saveメソッドを実行しなければなりません。
画像は、newメソッドに続けて実行しています。
saveメソッドは、成功すると「true」を返し、失敗すると「false」を返します。
これは、成功したかどうか分岐する処理で用いられます。
モデルの生成・保存
createメソッドはモデルの生成と保存を同時に行います。
画像から、createメソッドの方のemailが保存されているのが分かります。
データの更新
updateメソッドは、データの更新を行います。
↓の画像は、今保存されているデータの一覧です。
↓の画像から、updateメソッドでデータが更新されているのが分かります。
データの削除
destroyメソッドで、データを削除することが出来ます。
画像は、id=2のデータを削除するコマンドです。
モデルの検索
findメソッド
findメソッドは、id(プライマリキー)で検索をします。
プライマリキーについて=>Railsのモデル・migrationについて
プライマリキーはテーブルの設定で違うので注意が必要です。
しかし、プログラミングの世界で「id」は重複しない値であるのが、暗黙の了解となっています。
画像はidが4のデータを検索したことが分かります。
find_byメソッド
find_byメソッドは、id(プライマリキー)以外で検索をします。
画像は「name」がTagutiのデータを検索しています。
allメソッド
allメソッドは、全てのレコードを取得します。
基本的に検索するメソッドと作成・更新・削除するメソッドを合わせて使います。
例)
User.find(2).destroy(idが2のデータを削除)
終了の仕方
「exit」で終了することが出来ます。
最後に
備忘録がわりに作ったので、間違っている所とかあったら、コメントくれると嬉しいです。