質問編集履歴
2
追記
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
追記
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
|
+
長文で申し訳ないですが、よろしくお願いいたします。
|