質問編集履歴
1
文字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -26,13 +26,21 @@
|
|
26
26
|
|
27
27
|
なので以下のテストコードにおいて
|
28
28
|
|
29
|
-
|
29
|
+
attributes_for(:message)によって
|
30
30
|
|
31
|
-
|
31
|
+
factories/model.rbで設定されているuser_id , group_idもハッシュとして取り出され、params内で他で呼び出しているuser_idなどと値が重複してしまうと考えました。
|
32
32
|
|
33
33
|
|
34
34
|
|
35
|
+
しかし実際はattributes_for(:message)で外部キーであるuser_idなどは取り出されません。
|
35
36
|
|
37
|
+
|
38
|
+
|
39
|
+
これははなぜでしょうか?
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
問題の一文
|
36
44
|
|
37
45
|
```
|
38
46
|
|
@@ -42,7 +50,7 @@
|
|
42
50
|
|
43
51
|
|
44
52
|
|
45
|
-
spec/factories/message.rb
|
53
|
+
spec/factories/message.rb(fctory_bot の message.rb の設定)
|
46
54
|
|
47
55
|
```
|
48
56
|
|
@@ -72,7 +80,7 @@
|
|
72
80
|
|
73
81
|
|
74
82
|
|
75
|
-
messages_controller_spec.rb
|
83
|
+
messages_controller_spec.rb(実際の大枠のテストコード)
|
76
84
|
|
77
85
|
```
|
78
86
|
|
@@ -116,11 +124,13 @@
|
|
116
124
|
|
117
125
|
### 試したこと
|
118
126
|
|
127
|
+
create(:message)とattributes_for(:message)それぞれの実際の値を
|
128
|
+
|
119
|
-
|
129
|
+
binding.pryを使用しターミナルで確認、比較しました。
|
120
130
|
|
121
131
|
|
122
132
|
|
123
|
-
create(:message)の値は以下
|
133
|
+
create(:message)の値は以下です。
|
124
134
|
|
125
135
|
|
126
136
|
|
@@ -142,9 +152,7 @@
|
|
142
152
|
|
143
153
|
|
144
154
|
|
145
|
-
attributes_for(:message)は以下
|
155
|
+
attributes_for(:message)は以下です。
|
146
|
-
|
147
|
-
やはり外部キーである user, group のIDが生成されていません。
|
148
156
|
|
149
157
|
|
150
158
|
|
@@ -152,4 +160,6 @@
|
|
152
160
|
|
153
161
|
|
154
162
|
|
163
|
+
attributes_for(:message)では、やはり外部キーである user, group のIDが生成されていません。
|
164
|
+
|
155
165
|
なぜattributes_forでは外部キーなどの属性がハッシュに含まれていないのでしょうか?
|