質問するログイン新規登録

質問編集履歴

2

追記

2017/05/03 19:52

投稿

PartyKids
PartyKids

スコア65

title CHANGED
File without changes
body CHANGED
@@ -96,4 +96,15 @@
96
96
 
97
97
  って事ですか?
98
98
 
99
+ ```ruby
100
+
101
+ has_many :active_relationships, class_name: "Relationship",
102
+ foreign_key: "follower_id",
103
+ dependent: :destroy
104
+ ```
105
+
106
+ 上記のコードで、『foreign_key: "follower_id"』っと記載しているのは、これを書かなかったら、active_relationshipsテーブルの主キーを外部IDと認識してしまうため、書いているのですか?
107
+
108
+
109
+
99
110
  長文で申し訳ないですが、よろしくお願いいたします。

1

追記

2017/05/03 19:52

投稿

PartyKids
PartyKids

スコア65

title CHANGED
File without changes
body CHANGED
@@ -76,4 +76,24 @@
76
76
 
77
77
 
78
78
 
79
- 質問するにあたって、まとめて整理してみましたが、やっぱり意味が分からず、支離滅裂な質問文になってしまいましたが、よろしくお願いいたします。
79
+ 質問するにあたって、まとめて整理してみましたが、やっぱり意味が分からず、支離滅裂な質問文になってしまいましたが、よろしくお願いいたします。
80
+
81
+ ###追記
82
+ モデルAとモデルBがあり、テーブルAの情報をテーブルBに組み込みたいと仮定する(1対多)。
83
+ この時の主キーは、テーブルAのID(一意)であり、モデルBにあるa_idが外部キーとなる。
84
+ ```ruby
85
+ ###a.rb
86
+ has_many :b
87
+
88
+
89
+ ###b.rb
90
+ belongs_to :a
91
+ ```
92
+ a,bは、モデル自身が見るべきモデルクラスを示唆しているだけで、外部キーや主キーの情報ではない。
93
+ a.rbは、has_many: b の **b** から、model class B を見て、自身のモデルクラス_IDがあることを知り、a→bのモデルが結合する。
94
+
95
+ 逆に、b.rbは、belongs_to :a の **a** から、model class a を見て、自身のモデルクラス_IDがないため、aの主キーをベースに、b→aのモデルが結合する。
96
+
97
+ って事ですか?
98
+
99
+ 長文で申し訳ないですが、よろしくお願いいたします。