
ActiveRecord の関連付け
has_many, belongs_to, has_one, has_and_belongs_to_many, polymorphic, dependent destroy
24 面接問題·
Mid-Level
1コメントが必ず記事に属することを示すために、Comment モデルではどの関連付けを使用すべきですか?
1
コメントが必ず記事に属することを示すために、Comment モデルではどの関連付けを使用すべきですか?
回答
belongs_to の関連付けは、あるレコードが別のレコードに属する関係を定義するために使用します。この場合、Comment は Article に属します。慣例により、これは comments テーブルに articles テーブルへの外部キーである article_id カラムが含まれることを意味します。
2複数の関連コメントを持てるようにするために、Article モデルではどの関連付けを使用すべきですか?
2
複数の関連コメントを持てるようにするために、Article モデルではどの関連付けを使用すべきですか?
回答
has_many の関連付けは一対多の関係を定義します。1 つの Article は複数の Comment を持つことができます。この関連付けは belongs_to の鏡像であり、自身のテーブルには外部キーを保存せず、関連するモデル (Comment) が article_id カラムを持つことを期待します。
3ユーザーが 1 つのプロフィールを持ち、そのプロフィールが外部キーを保持する場合、どの関連付けを使用すべきですか?
3
ユーザーが 1 つのプロフィールを持ち、そのプロフィールが外部キーを保持する場合、どの関連付けを使用すべきですか?
回答
has_one の関連付けは、もう一方のモデルが外部キーを保持する一対一の関係を定義します。User has_one :profile の場合、profiles テーブルに user_id カラムが含まれます。これは外部キーがどこにあるかによって決まる has_one/belongs_to の逆の関係です。
4
追加属性を持つ結合テーブルを使って、Post と Tag の間の多対多の関係をどのようにモデル化しますか?
5
has_many 関連付けにおける dependent: :destroy オプションのデフォルトの動作は何ですか?
+21 面接問題
その他のRuby on Rails面接トピック
Rubyの基礎
Junior
25問Rubyのオブジェクト指向プログラミング
Junior
20問Rails の基礎
Junior
18問Routing & Controllers
Junior
22問ActiveRecord の基礎
Junior
25問Views と ERB テンプレート
Junior
20問高度なActiveRecordクエリ
Mid-Level
28問Rails フォーム
Mid-Level
20問認証と認可
Mid-Level
22問モダンな Asset Pipeline とフロントエンド
Mid-Level
18問Rails APIモード
Mid-Level
20問RSpecによるテスト
Mid-Level
24問ActiveJob & Background Jobs
Mid-Level
20問ActionCable & WebSockets
Mid-Level
18問ActionMailer
Mid-Level
18問ActiveStorage
Mid-Level
20問キャッシュ戦略
Mid-Level
20問高度なマイグレーション
Mid-Level
20問Rails Engines とモジュラーアプリ
Senior
18問パフォーマンス最適化
Senior
26問Rails のデザインパターン
Senior
22問Rubyのメタプログラミング
Senior
20問Rails のセキュリティ
Senior
22問Rails での GraphQL
Senior
20問デプロイと本番環境
Senior
20問Monitoring & Logging
Senior
20問Rails アップグレード戦略
Senior
18問