1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?