質問編集履歴
5
試したこと追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -134,8 +134,8 @@
|
|
134
134
|
よろしくお願いいたします。
|
135
135
|
|
136
136
|
|
137
|
-
##
|
137
|
+
## 追記 試したこと
|
138
|
-
## フォームで送るキー名を工夫
|
138
|
+
### フォームで送るキー名を工夫
|
139
139
|
別画面で実装した際にも同様にaccepts_nested_attributes_forコマンドが機能しませんでした。
|
140
140
|
いっそ、フォームの方でごまかしせないか?と考えviewファイルを変更しました。field_forで送るキー名を変更してみました。
|
141
141
|
|
@@ -158,14 +158,13 @@
|
|
158
158
|
@tuning_allの行が
|
159
159
|
```
|
160
160
|
@song = Song.new(song_params)
|
161
|
-
# 親レコードの
|
162
161
|
```
|
163
162
|
にあたります。変数の型とは違う型を代入している際にでるエラーのようです。
|
164
163
|
accepts_nested_attributes_forは表面的に表示を変える以上の働きをしているのかな?と考えました。
|
165
164
|
|
166
165
|
フォームオブジェクトという初心者にはハードル高そうなものを使えば、accepts_nested~を使わなくても実装できるようなので、一度チャレンジしてみます。
|
167
166
|
|
168
|
-
## accepts~で同じエラーが発生している記事を発見
|
167
|
+
### accepts~で同じエラーが発生している記事を発見
|
169
168
|
[Rails fields_for と accepts_nested_attributes_for を使うときの注意点](https://acchann.hatenablog.com/entry/2018/03/16/224300)
|
170
169
|
それって書き方変えただけじゃないの?というような内容ですが、わらにもすがる思いで真似してみましたが、結果変わらず。
|
171
170
|
内容を要約すると、
|
4
試したことの追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -135,6 +135,7 @@
|
|
135
135
|
|
136
136
|
|
137
137
|
### 追記 試したこと
|
138
|
+
## フォームで送るキー名を工夫
|
138
139
|
別画面で実装した際にも同様にaccepts_nested_attributes_forコマンドが機能しませんでした。
|
139
140
|
いっそ、フォームの方でごまかしせないか?と考えviewファイルを変更しました。field_forで送るキー名を変更してみました。
|
140
141
|
|
@@ -152,7 +153,6 @@
|
|
152
153
|
<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>
|
153
154
|
|
154
155
|
```
|
155
|
-
|
156
156
|
すると別のエラーメッセージが表示されました。
|
157
157
|

|
158
158
|
@tuning_allの行が
|
@@ -165,6 +165,14 @@
|
|
165
165
|
|
166
166
|
フォームオブジェクトという初心者にはハードル高そうなものを使えば、accepts_nested~を使わなくても実装できるようなので、一度チャレンジしてみます。
|
167
167
|
|
168
|
+
## accepts~で同じエラーが発生している記事を発見
|
169
|
+
[Rails fields_for と accepts_nested_attributes_for を使うときの注意点](https://acchann.hatenablog.com/entry/2018/03/16/224300)
|
170
|
+
それって書き方変えただけじゃないの?というような内容ですが、わらにもすがる思いで真似してみましたが、結果変わらず。
|
171
|
+
内容を要約すると、
|
172
|
+
- 子要素のモデルを作って送れているか?
|
173
|
+
- accepts~のあとに記述したものと、field_forでつけたキー名が一致しているか?
|
174
|
+
子要素のモデルに関してはfield_forのところで定義されていたので、私が親コントローラのnewアクションのところで記述していたものを同じように書いてためしました。念の為。
|
175
|
+
|
168
176
|
### 追記 シンプルな疑問
|
169
177
|
accepts〜の記述を受け付けないという事象は(原因は何にせよ、一般的に)そもそも発生し得ることなのでしょうか?
|
170
178
|
例えば○○Gemをbundle installしていないと機能しない、versionX.Xでは機能しない、など一定の条件下では反応しないことがありうるのでしょうか。
|
3
追記の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -166,8 +166,8 @@
|
|
166
166
|
フォームオブジェクトという初心者にはハードル高そうなものを使えば、accepts_nested~を使わなくても実装できるようなので、一度チャレンジしてみます。
|
167
167
|
|
168
168
|
### 追記 シンプルな疑問
|
169
|
-
accepts〜の記述を受け付けないという事象は原因は何にせよ発生
|
169
|
+
accepts〜の記述を受け付けないという事象は(原因は何にせよ、一般的に)そもそも発生し得ることなのでしょうか?
|
170
|
-
|
170
|
+
例えば○○Gemをbundle installしていないと機能しない、versionX.Xでは機能しない、など一定の条件下では反応しないことがありうるのでしょうか。
|
171
171
|
あり得る場合、エラーは発生するのでしょうか?それとも今起きているようにエラーは発生せず無視されるものなのでしょうか。
|
172
172
|
|
173
|
-
解決に直接至らなくてもそのあたりの切り分けがで
|
173
|
+
解決に直接至らなくてもそのあたりの切り分けがしたいので、情報があれば教えていただきたいと思っています。
|
2
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -163,4 +163,11 @@
|
|
163
163
|
にあたります。変数の型とは違う型を代入している際にでるエラーのようです。
|
164
164
|
accepts_nested_attributes_forは表面的に表示を変える以上の働きをしているのかな?と考えました。
|
165
165
|
|
166
|
-
フォームオブジェクトという初心者にはハードル高そうなものを使えば、accepts_nested~を使わなくても実装できるようなので、一度チャレンジしてみます。
|
166
|
+
フォームオブジェクトという初心者にはハードル高そうなものを使えば、accepts_nested~を使わなくても実装できるようなので、一度チャレンジしてみます。
|
167
|
+
|
168
|
+
### 追記 シンプルな疑問
|
169
|
+
accepts〜の記述を受け付けないという事象は原因は何にせよ発生することなのでしょうか?
|
170
|
+
それとも○○Gemをbundle installしていないと機能しない、versionX.Xでは機能しない、など一定の条件下では反応しないことがありうるのでしょうか。
|
171
|
+
あり得る場合、エラーは発生するのでしょうか?それとも今起きているようにエラーは発生せず無視されるものなのでしょうか。
|
172
|
+
|
173
|
+
解決に直接至らなくてもそのあたりの切り分けができる情報があれば教えていただきたいと思っています。
|
1
「試したこと」の追記
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
1つのフォームで親レコードと複数の子レコードを保存したいが、accepts_nested_attributes_forが機能せずキー名が正しく表示されない
|
body
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
3
|
一つのフォームでアソシエイトが組まれた2つのモデルを生成したい。
|
4
|
+
タイトルの通り、accepts_nested_attributes_forが正しく機能してくれません。
|
5
|
+
そこさえ解決すればあとは問題なく実装できると踏んでいます。
|
4
6
|
|
5
7
|
### 発生している問題・エラーメッセージ
|
6
8
|
以下のページのように実装。
|
@@ -71,52 +73,7 @@
|
|
71
73
|
=f.fields_for :keys do |key_f|
|
72
74
|
.chord-menu
|
73
75
|
.chord-menu__key
|
74
|
-
|
76
|
+
// 中略
|
75
|
-
= key_f.text_field :name, value: "key of G"
|
76
|
-
.key__key-display--now
|
77
|
-
key of G
|
78
|
-
.key__key-display--relative-key
|
79
|
-
移動ド
|
80
|
-
.chord-menu__key--palettes
|
81
|
-
.palettes__section
|
82
|
-
.palettes__palette.palettes__palette--one
|
83
|
-
移動ド
|
84
|
-
.palettes__section
|
85
|
-
.palettes__palette.palettes__palette--four
|
86
|
-
G
|
87
|
-
.palettes__palette.palettes__palette--four
|
88
|
-
A
|
89
|
-
.palettes__palette.palettes__palette--four
|
90
|
-
B
|
91
|
-
.palettes__palette.palettes__palette--four
|
92
|
-
C
|
93
|
-
.palettes__section
|
94
|
-
.palettes__palette.palettes__palette--four
|
95
|
-
D
|
96
|
-
.palettes__palette.palettes__palette--four
|
97
|
-
E
|
98
|
-
.palettes__palette.palettes__palette--four
|
99
|
-
F
|
100
|
-
.palettes__section
|
101
|
-
.palettes__palette.palettes__palette--three
|
102
|
-
m
|
103
|
-
.palettes__palette.palettes__palette--three
|
104
|
-
\#
|
105
|
-
.palettes__palette.palettes__palette--three
|
106
|
-
♭
|
107
|
-
.palettes__section
|
108
|
-
.palettes__palette.palettes__palette--one
|
109
|
-
閉じる
|
110
|
-
=key_f.label :instrumental, class: "class--element" do
|
111
|
-
= key_f.check_box :instrumental, checked_value: "1", unchecked: "0"
|
112
|
-
インストキー
|
113
|
-
=key_f.label :male, class: "class--element" do
|
114
|
-
= key_f.check_box :male, checked_value: "1", unchecked: "0"
|
115
|
-
男声キー
|
116
|
-
=key_f.label :female, class: "class--element" do
|
117
|
-
= key_f.check_box :female, checked_value: "1", unchecked: "0"
|
118
|
-
女声キー
|
119
|
-
.form--btn
|
120
77
|
= f.submit "登録"
|
121
78
|
|
122
79
|
|
@@ -172,6 +129,38 @@
|
|
172
129
|
- 他にjqueryとscssを併用しています。
|
173
130
|
|
174
131
|
これからfields_for以外の方法を試すつもりです。
|
175
|
-
かれこれ
|
132
|
+
かれこれ12時間ほど詰まっているので教えていただけると幸いです。
|
176
133
|
|
177
|
-
よろしくお願いいたします。
|
134
|
+
よろしくお願いいたします。
|
135
|
+
|
136
|
+
|
137
|
+
### 追記 試したこと
|
138
|
+
別画面で実装した際にも同様にaccepts_nested_attributes_forコマンドが機能しませんでした。
|
139
|
+
いっそ、フォームの方でごまかしせないか?と考えviewファイルを変更しました。field_forで送るキー名を変更してみました。
|
140
|
+
|
141
|
+
※別画面に実装しようとした際には、違うモデルを使っていますが混乱を避けるため、この質問で用いられるモデルに書き換えて、結果を表記します
|
142
|
+
|
143
|
+
viewファイル
|
144
|
+
```haml
|
145
|
+
//略
|
146
|
+
.form__key
|
147
|
+
=f.fields_for :keys_attributes do |key_f|
|
148
|
+
//略
|
149
|
+
```
|
150
|
+
ストロングパラメータsong_paramsの出力は以下の通りです。
|
151
|
+
```ターミナル
|
152
|
+
<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>
|
153
|
+
|
154
|
+
```
|
155
|
+
|
156
|
+
すると別のエラーメッセージが表示されました。
|
157
|
+

|
158
|
+
@tuning_allの行が
|
159
|
+
```
|
160
|
+
@song = Song.new(song_params)
|
161
|
+
# 親レコードの
|
162
|
+
```
|
163
|
+
にあたります。変数の型とは違う型を代入している際にでるエラーのようです。
|
164
|
+
accepts_nested_attributes_forは表面的に表示を変える以上の働きをしているのかな?と考えました。
|
165
|
+
|
166
|
+
フォームオブジェクトという初心者にはハードル高そうなものを使えば、accepts_nested~を使わなくても実装できるようなので、一度チャレンジしてみます。
|