AR삽질러

Rails 一日一つメソッド (Day19) Associations-belongs_toメソッド 본문

Ruby/RubyOnRails-日本語

Rails 一日一つメソッド (Day19) Associations-belongs_toメソッド

아랑팡팡 2024. 1. 10. 19:45
728x90

 

Rails 一日一つメソッド (Day19) Associations-belongs_toメソッド

 

belongs_toメソッドとは

 - RailsのActive Recordで使われるAssciationsメソッドの一つで、参照元テーブル(外部キーを持つテーブル)から参照先テーブル(主キーを持つテーブル)にアクセスする場合に定義する。

 

belongs_toメソッドが必要な場合とは

 

例)PostモデルがUserモデルに属していると仮定したら、

Postモデルは belongs_to :user関係を持つ、

Userモデルは has_many :posts関係を持つ

# app/models/user.rb
class User < ApplicationRecord

end

# app/models/post.rb
class Post < ApplicationRecord
	belongs_to :user
end

 - postsテーブルでuser_idという Foreign Keyが含まれている必要がある。これでPostインスタンスは .userメソッドを使って Userインスタンスに接近できるし、Userインスタンスは .postsメソッドを使ってUserに属している全ての Postインスタンスに接近できます。

 - belongs_toメソッドを定義することで、参照先(関連する主キーがあるテーブル)の情報が存在のモデルを経由して取得できるようになる。belongs_toメソッドの引数の関連めいは単数系になるので注意!

 

belongs_toメソッドは DataBaseで一意性を守るために使われ、関連されたモデルの間に関係を明視する時に重要になる。

728x90
반응형
LIST