LoginSignup
1
0

More than 3 years have passed since last update.

RailsのTips

Posted at

個人的な備忘録となります

目次

データベースのインスタンスにアクセスするとき、.(ドット)+カラム名で値が取得できる理由

Active Record を継承したクラスで作られたインスタンス(オブジェクト)だから、.メソッドを使って値の取得が可能になっているから。
通常のRubyの記法ではないため、ハッシュオブジェクトに対して値を取得したいからドットで書いたらエラーになる。

Rubyにおけるハッシュの値の取得方法
example.rb
hash = {name: 'hoge', email: 'fuga@example.com'}

hash[:name]
=> "hoge"

# .で取得しようとするとエラーになる
hash.name
NoMethodError (undefined method `name' for {:name=>"hoge", :email=>"fuga@example.com"}:Hash)
ARを継承するクラスから作られたオブジェクトにおける値の取得方法
example.rb
# すでにHashクラスが定義されている前提で、Hash.newでインスタンスを作成
hash = Hash.new(name: 'hoge', email: 'fuga@example.com')

hash[:name]
=> "hoge"

hash.name
=> "hoge"
1
0
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
0