質問編集履歴
5
試したこと追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -270,9 +270,9 @@
|
|
270
270
|
|
271
271
|
|
272
272
|
|
273
|
-
##
|
273
|
+
## 追記 試したこと
|
274
|
-
|
274
|
+
|
275
|
-
## フォームで送るキー名を工夫
|
275
|
+
### フォームで送るキー名を工夫
|
276
276
|
|
277
277
|
別画面で実装した際にも同様にaccepts_nested_attributes_forコマンドが機能しませんでした。
|
278
278
|
|
@@ -318,8 +318,6 @@
|
|
318
318
|
|
319
319
|
@song = Song.new(song_params)
|
320
320
|
|
321
|
-
# 親レコードの
|
322
|
-
|
323
321
|
```
|
324
322
|
|
325
323
|
にあたります。変数の型とは違う型を代入している際にでるエラーのようです。
|
@@ -332,7 +330,7 @@
|
|
332
330
|
|
333
331
|
|
334
332
|
|
335
|
-
## accepts~で同じエラーが発生している記事を発見
|
333
|
+
### accepts~で同じエラーが発生している記事を発見
|
336
334
|
|
337
335
|
[Rails fields_for と accepts_nested_attributes_for を使うときの注意点](https://acchann.hatenablog.com/entry/2018/03/16/224300)
|
338
336
|
|
4
試したことの追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -272,6 +272,8 @@
|
|
272
272
|
|
273
273
|
### 追記 試したこと
|
274
274
|
|
275
|
+
## フォームで送るキー名を工夫
|
276
|
+
|
275
277
|
別画面で実装した際にも同様にaccepts_nested_attributes_forコマンドが機能しませんでした。
|
276
278
|
|
277
279
|
いっそ、フォームの方でごまかしせないか?と考えviewファイルを変更しました。field_forで送るキー名を変更してみました。
|
@@ -306,8 +308,6 @@
|
|
306
308
|
|
307
309
|
```
|
308
310
|
|
309
|
-
|
310
|
-
|
311
311
|
すると別のエラーメッセージが表示されました。
|
312
312
|
|
313
313
|
![エラー画像](cddfd784f4ed26d5f7de01c1624e9d5f.png)
|
@@ -332,6 +332,22 @@
|
|
332
332
|
|
333
333
|
|
334
334
|
|
335
|
+
## accepts~で同じエラーが発生している記事を発見
|
336
|
+
|
337
|
+
[Rails fields_for と accepts_nested_attributes_for を使うときの注意点](https://acchann.hatenablog.com/entry/2018/03/16/224300)
|
338
|
+
|
339
|
+
それって書き方変えただけじゃないの?というような内容ですが、わらにもすがる思いで真似してみましたが、結果変わらず。
|
340
|
+
|
341
|
+
内容を要約すると、
|
342
|
+
|
343
|
+
- 子要素のモデルを作って送れているか?
|
344
|
+
|
345
|
+
- accepts~のあとに記述したものと、field_forでつけたキー名が一致しているか?
|
346
|
+
|
347
|
+
子要素のモデルに関してはfield_forのところで定義されていたので、私が親コントローラのnewアクションのところで記述していたものを同じように書いてためしました。念の為。
|
348
|
+
|
349
|
+
|
350
|
+
|
335
351
|
### 追記 シンプルな疑問
|
336
352
|
|
337
353
|
accepts〜の記述を受け付けないという事象は(原因は何にせよ、一般的に)そもそも発生し得ることなのでしょうか?
|
3
追記の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -334,12 +334,12 @@
|
|
334
334
|
|
335
335
|
### 追記 シンプルな疑問
|
336
336
|
|
337
|
-
accepts〜の記述を受け付けないという事象は原因は何にせよ発生
|
337
|
+
accepts〜の記述を受け付けないという事象は(原因は何にせよ、一般的に)そもそも発生し得ることなのでしょうか?
|
338
|
-
|
338
|
+
|
339
|
-
|
339
|
+
例えば○○Gemをbundle installしていないと機能しない、versionX.Xでは機能しない、など一定の条件下では反応しないことがありうるのでしょうか。
|
340
340
|
|
341
341
|
あり得る場合、エラーは発生するのでしょうか?それとも今起きているようにエラーは発生せず無視されるものなのでしょうか。
|
342
342
|
|
343
343
|
|
344
344
|
|
345
|
-
解決に直接至らなくてもそのあたりの切り分けがで
|
345
|
+
解決に直接至らなくてもそのあたりの切り分けがしたいので、情報があれば教えていただきたいと思っています。
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -329,3 +329,17 @@
|
|
329
329
|
|
330
330
|
|
331
331
|
フォームオブジェクトという初心者にはハードル高そうなものを使えば、accepts_nested~を使わなくても実装できるようなので、一度チャレンジしてみます。
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
### 追記 シンプルな疑問
|
336
|
+
|
337
|
+
accepts〜の記述を受け付けないという事象は原因は何にせよ発生することなのでしょうか?
|
338
|
+
|
339
|
+
それとも○○Gemをbundle installしていないと機能しない、versionX.Xでは機能しない、など一定の条件下では反応しないことがありうるのでしょうか。
|
340
|
+
|
341
|
+
あり得る場合、エラーは発生するのでしょうか?それとも今起きているようにエラーは発生せず無視されるものなのでしょうか。
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
解決に直接至らなくてもそのあたりの切り分けができる情報があれば教えていただきたいと思っています。
|
1
「試したこと」の追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1つのフォームで親レコードと複数の子レコードを保存したいが、accepts_nested_attributes_forが機能せずキー名が正しく表示されない
|
test
CHANGED
@@ -4,6 +4,10 @@
|
|
4
4
|
|
5
5
|
一つのフォームでアソシエイトが組まれた2つのモデルを生成したい。
|
6
6
|
|
7
|
+
タイトルの通り、accepts_nested_attributes_forが正しく機能してくれません。
|
8
|
+
|
9
|
+
そこさえ解決すればあとは問題なく実装できると踏んでいます。
|
10
|
+
|
7
11
|
|
8
12
|
|
9
13
|
### 発生している問題・エラーメッセージ
|
@@ -144,97 +148,7 @@
|
|
144
148
|
|
145
149
|
.chord-menu__key
|
146
150
|
|
147
|
-
|
151
|
+
// 中略
|
148
|
-
|
149
|
-
= key_f.text_field :name, value: "key of G"
|
150
|
-
|
151
|
-
.key__key-display--now
|
152
|
-
|
153
|
-
key of G
|
154
|
-
|
155
|
-
.key__key-display--relative-key
|
156
|
-
|
157
|
-
移動ド
|
158
|
-
|
159
|
-
.chord-menu__key--palettes
|
160
|
-
|
161
|
-
.palettes__section
|
162
|
-
|
163
|
-
.palettes__palette.palettes__palette--one
|
164
|
-
|
165
|
-
移動ド
|
166
|
-
|
167
|
-
.palettes__section
|
168
|
-
|
169
|
-
.palettes__palette.palettes__palette--four
|
170
|
-
|
171
|
-
G
|
172
|
-
|
173
|
-
.palettes__palette.palettes__palette--four
|
174
|
-
|
175
|
-
A
|
176
|
-
|
177
|
-
.palettes__palette.palettes__palette--four
|
178
|
-
|
179
|
-
B
|
180
|
-
|
181
|
-
.palettes__palette.palettes__palette--four
|
182
|
-
|
183
|
-
C
|
184
|
-
|
185
|
-
.palettes__section
|
186
|
-
|
187
|
-
.palettes__palette.palettes__palette--four
|
188
|
-
|
189
|
-
D
|
190
|
-
|
191
|
-
.palettes__palette.palettes__palette--four
|
192
|
-
|
193
|
-
E
|
194
|
-
|
195
|
-
.palettes__palette.palettes__palette--four
|
196
|
-
|
197
|
-
F
|
198
|
-
|
199
|
-
.palettes__section
|
200
|
-
|
201
|
-
.palettes__palette.palettes__palette--three
|
202
|
-
|
203
|
-
m
|
204
|
-
|
205
|
-
.palettes__palette.palettes__palette--three
|
206
|
-
|
207
|
-
\#
|
208
|
-
|
209
|
-
.palettes__palette.palettes__palette--three
|
210
|
-
|
211
|
-
♭
|
212
|
-
|
213
|
-
.palettes__section
|
214
|
-
|
215
|
-
.palettes__palette.palettes__palette--one
|
216
|
-
|
217
|
-
閉じる
|
218
|
-
|
219
|
-
=key_f.label :instrumental, class: "class--element" do
|
220
|
-
|
221
|
-
= key_f.check_box :instrumental, checked_value: "1", unchecked: "0"
|
222
|
-
|
223
|
-
インストキー
|
224
|
-
|
225
|
-
=key_f.label :male, class: "class--element" do
|
226
|
-
|
227
|
-
= key_f.check_box :male, checked_value: "1", unchecked: "0"
|
228
|
-
|
229
|
-
男声キー
|
230
|
-
|
231
|
-
=key_f.label :female, class: "class--element" do
|
232
|
-
|
233
|
-
= key_f.check_box :female, checked_value: "1", unchecked: "0"
|
234
|
-
|
235
|
-
女声キー
|
236
|
-
|
237
|
-
.form--btn
|
238
152
|
|
239
153
|
= f.submit "登録"
|
240
154
|
|
@@ -346,8 +260,72 @@
|
|
346
260
|
|
347
261
|
これからfields_for以外の方法を試すつもりです。
|
348
262
|
|
349
|
-
かれこれ
|
263
|
+
かれこれ12時間ほど詰まっているので教えていただけると幸いです。
|
350
264
|
|
351
265
|
|
352
266
|
|
353
267
|
よろしくお願いいたします。
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
### 追記 試したこと
|
274
|
+
|
275
|
+
別画面で実装した際にも同様にaccepts_nested_attributes_forコマンドが機能しませんでした。
|
276
|
+
|
277
|
+
いっそ、フォームの方でごまかしせないか?と考えviewファイルを変更しました。field_forで送るキー名を変更してみました。
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
※別画面に実装しようとした際には、違うモデルを使っていますが混乱を避けるため、この質問で用いられるモデルに書き換えて、結果を表記します
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
viewファイル
|
286
|
+
|
287
|
+
```haml
|
288
|
+
|
289
|
+
//略
|
290
|
+
|
291
|
+
.form__key
|
292
|
+
|
293
|
+
=f.fields_for :keys_attributes do |key_f|
|
294
|
+
|
295
|
+
//略
|
296
|
+
|
297
|
+
```
|
298
|
+
|
299
|
+
ストロングパラメータsong_paramsの出力は以下の通りです。
|
300
|
+
|
301
|
+
```ターミナル
|
302
|
+
|
303
|
+
<ActionController::Parameters {"title"=>"why did you wonder", "jam"=>"0", "standard"=>"1", "beginner"=>"1", "keys_attributes"=><ActionController::Parameters {"name"=>"key of G", "instrumental"=>"0", "male"=>"1", "female"=>"0"} permitted: true>} permitted: false>
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
```
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
すると別のエラーメッセージが表示されました。
|
312
|
+
|
313
|
+
![エラー画像](cddfd784f4ed26d5f7de01c1624e9d5f.png)
|
314
|
+
|
315
|
+
@tuning_allの行が
|
316
|
+
|
317
|
+
```
|
318
|
+
|
319
|
+
@song = Song.new(song_params)
|
320
|
+
|
321
|
+
# 親レコードの
|
322
|
+
|
323
|
+
```
|
324
|
+
|
325
|
+
にあたります。変数の型とは違う型を代入している際にでるエラーのようです。
|
326
|
+
|
327
|
+
accepts_nested_attributes_forは表面的に表示を変える以上の働きをしているのかな?と考えました。
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
フォームオブジェクトという初心者にはハードル高そうなものを使えば、accepts_nested~を使わなくても実装できるようなので、一度チャレンジしてみます。
|