コンソール

rails console(rails c) の使い方

1pictweetのディレクトリに移動 

ターミナル

cd(ホームに移動)

ls (現在のフォルダの確認)

cd projects (移動)

cd pictweet(移動)

pwd(現在の位置確認)

pwdと打った時に/User/ユーザ名/projects/pictweetと表示されれば大丈夫です。


コンソールを起動しましょう。

ターミナルでrails cと打ちましょう

rails c上でtweet = Tweet.newと打ちTweetモデルのインスタンスを生成Tweet.newはTweetモデルのインスタンスを生成するメソッドです。

rails cはメソッドを打つと、=>でそのメソッドの返り値を表示してくれます。

Tweet.newの返り値を見てみると

#<Tweet id: nil, name: nil, image: nil, text: nil, created_at: nil, updated_at: nil>

というものが返ってきているのが確認できます。これがTweetモデルのインスタンスです。


インスタンスを生成する際にそれぞれのカラムに代入したい値を入れる場合、

tweet = Tweet.new(name: "keita", text: "rails now. it's so fun!!", image: "http://image.jpg")

保存は tweet .save

newメソッドだけでは、インスタンスは生成されるものの、テーブルには保存されませんでした。そのため、saveメソッドを用いる必要がありましたが、createメソッドを使えばnewとsaveを同時に行ってくれます。createメソッドは、newメソッドと同様に引数でカラムを指定することで値をセットすることができます。

Tweet.allでこれまでのは全て見れる。が、テーブルに保存されているもののみ!newだけではテーブルに保存されない。

findメソッドを使うと特定のidのレコード一つを取得することができます。findメソッドは数字を引数にとり、その数字をidとするレコードを取得します。Tweet.find(7) 数字はid番号を入れる。

特定の名前だけ検索するなどの時は、

Tweet.find_by(name: "keita") とfind_byで入力

find_byメソッドはモデル名.find_by(カラム名: 値)で検索してヒットした最初のレコード1つのみを取得します。

Tweet.where(name: "keita")  とwhereで入力すると全ての情報が出てくる

Tweet.limit(2) limitを使用すると、最初から(2)件の情報が出せる

Tweet.order("created_at DESC") を使用すると並べ替えができる。DESC は降順の意味の Descending、ASC は昇順の意味の Ascending という英語の略です。


情報の書きかえは、

Tweet.find(7)などで呼び出し、tweet.name = 変更名

で変更するか。

呼び出して、 Tweet.update(name: "変更名" , text: "変更文章")で変更可能。

updateメソッドはインスタンス.update(カラム名1: "更新したい値1", カラム名2: "更新したい値2")というように使い、既にデータベースに保存されているレコードを更新することが出来ます。

tweetとだけ打つと、よびだせる。変更なっているか確認。


この記事が気に入ったらサポートをしてみませんか?