1
1

More than 3 years have passed since last update.

「user :id 」と「 user.id 」の違い

Last updated at Posted at 2021-01-29

はじめに

Rubyの学習中よく「 :~ 」と「 .~ 」の使い方の違いで混乱していたので、

今回 「 :id 」と「 .id 」を例にまとめていきたいと思います。

「 :~ 」

「 :~ 」はparamsのキーを指しており、
そのキーの値(バリュー)を格納するために記述する。

また、「 :~ 」はDBのカラムと一致させるハッシュのキー(一致するとDBに保存可)で、
これはビューファイルでハッシュのキーを指定する

例1)コントローラーで「 :~ 」を記述する場合

def show
    @post = Post.find(params[:id])
end


[ :id ]params = { :id => “バリュー”}の:id(キー)の部分を指している。

params[:id]「id」というキーの、値を格納するための記述!

例2)ビューファイルで「 :~ 」を記述する場合

html.erb
<%= 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についての理解をもっと深めていきたいです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1