はじめに
Rubyの学習中よく「 :~ 」と「 .~ 」の使い方の違いで混乱していたので、
今回 「 :id 」と「 .id 」を例にまとめていきたいと思います。
「 :~ 」
「 :~ 」はparamsのキーを指しており、
そのキーの値(バリュー)を格納するために記述する。
また、「 :~ 」はDBのカラムと一致させるハッシュのキー(一致するとDBに保存可)で、
これはビューファイルでハッシュのキーを指定する
例1)コントローラーで「 :~ 」を記述する場合
def show
@post = Post.find(params[:id])
end
↑
[ :id ]はparams = { :id => “バリュー”}の:id(キー)の部分を指している。
params[:id]は「id」というキーの、値を格納するための記述!
例2)ビューファイルで「 :~ 」を記述する場合
<%= f.text_area :first_name_kana, class: "input-name", id: "first-name-kana", placeholder: "例)サトウ " %>
↑
「:first_name_kana」はハッシュのキーを指しており、ここに「 f.text_area」によって入力されたデータ(バリュー)が入る!
params = { :first_name_kana => 入力されたデータ}
キー バリュー
例3)DBに値が保存される仕組み
レコード {text : ”こんにちは”} があると仮定
params[:text]
DBのカラムにおいて
textカラムがある場合 "こんにちは"を保存可能
textカラムがない場合 保存できない
※viewファイルからparams(キー: バリュー)は送られてくる。
「.~ 」
「 . 」はほぼ全てメソッド
例)
user.id
user.idは「userオブジェクトのidメソッドの呼び出し」です。
スクエアブラケット
・[ ]のこと
おわりに
ちなみに「 :id 」と「 .id 」と混合しやすい「 _id 」は外部キーだそうです。
今後はparamsについての理解をもっと深めていきたいです。