#この記事を書いた背景
Rubyを学習している中で、○○.△△のパターンのコード(例: User.new)をたくさん見ました。
それぞれ使われ方が違うのではないかと思って調べたら、3つの使われ方のパターンが有りました。
ということで、今回は○○.△△のパターンをまとめました。
#対象読者
Rubyを学習中の駆け出しエンジニアさん
#実施環境
Ruby 2.6.5
Rails 6.0.3.3
#3つのパターンがありました
##①モデル(クラス)名.ActiveRecordメソッド名
モデルに対するテーブル操作で用いられます。
下の例では、『Tweet.all』、『Tweet.new』、『Tweet.find(params[:id])』の部分です。
class TweetsController < ApplicationController
def index
#Tweetモデル(Tweetsテーブル)の全データ取得
@tweet = Tweet.all
end
def new
#Tweetモデルのインスタンス生成
@tweet = Tweet.new
end
def edit
#Tweetモデル(Tweetsテーブル)のある1つのデータ(1レコード)取得
@tweet = Tweet.find(params[:id])
end
end
ActiveRecordメソッドについては、こちらの記事をご覧ください。とても分かりやすかったです。
https://qiita.com/ryokky59/items/a1d0b4e86bacbd7ef6e8
##②インスタンス(変数)名.インスタンスメソッド名
インスタンスにメソッドをくっつけて使います。
インスタンスメソッドはインスタンスを生成しないと使えない。
下の例では、『number.calc(1,2)』の部分です。
class Number
def calc(a, b)
puts a + b
end
end
number = Number.new()
number.calc(1,2)
##③変数名.属性名
変数に格納された属性値を取得するときに用いられます。
下の例では、『user.nickname』の部分です。
Userテーブルのnicknameカラムのデータを取得します。
class UsersController < ApplicationController
def show
#Userモデル(Usersテーブル)のある1つのデータ(1レコード)取得し、変数userに代入
user = User.find(params[:id])
#変数userのnicknameカラムの情報(属性値)を取得し、インスタンス変数@nicknameに代入
@nickname = user.nickname
end
end
以上になります。参考になれば幸いです。