質問編集履歴

3

一部記載修正

2017/09/10 10:36

投稿

sakurasaku
sakurasaku

スコア15

test CHANGED
@@ -1 +1 @@
1
- Rails5:field_forで複数テーブルに一度に保存したい
1
+ Rails5:field_forで複数テーブルに一度に保存したいけど、Unpermitted parameterとなってしまう
test CHANGED
@@ -1,4 +1,4 @@
1
- fields_forで、一度に複数のテーブルに保存したいと考えています。フォーム内の各入力項目はブラウザ上で確認できる状態ですし、ページ遷移時にエラーも起こりません。ただ、子のテーブルにデータが保存されません。
1
+ fields_forで、一度に複数のテーブルに保存したいと考えています。フォーム内の各入力項目はブラウザ上で確認できる状態ですし、ページ遷移時にエラーも起こりません。ただ、子のテーブルにデータが保存されません。(fields_forの部分がUnpermitted parameterとなってしまうのが問題なのかなと思っています)
2
2
 
3
3
 
4
4
 
@@ -108,11 +108,13 @@
108
108
 
109
109
  def profile_params
110
110
 
111
- params.require(:profile).permit(..., :contact, languages_attributes: [:profile_id,:language,:rank])
111
+ params.require(:profile).permit(..., :contact, languages_attributes: [:id,:language,:rank])
112
112
 
113
113
  end
114
114
 
115
115
  ```
116
+
117
+ ※試しに上記の一部を”language_attributes”に変えてみましたがうまくいきませんでした。
116
118
 
117
119
 
118
120
 
@@ -124,6 +126,12 @@
124
126
 
125
127
  ```
126
128
 
129
+ ```ここに言語を入力
130
+
131
+ Unpermitted parameter: language
132
+
133
+ ```
134
+
127
135
 
128
136
 
129
137
  > 画像

2

ターミナルのログを追記

2017/09/10 10:36

投稿

sakurasaku
sakurasaku

スコア15

test CHANGED
File without changes
test CHANGED
@@ -116,6 +116,14 @@
116
116
 
117
117
 
118
118
 
119
+ > ターミナルのログの一部
120
+
121
+ ```ここに言語を入力
122
+
123
+ "contact"=>"f", "language"=>{"language"=>"g", "rank"=>"11"}}, "commit"=>"Submit"}
124
+
125
+ ```
126
+
119
127
 
120
128
 
121
129
  > 画像

1

controller部分に情報追記

2017/09/10 10:01

投稿

sakurasaku
sakurasaku

スコア15

test CHANGED
File without changes
test CHANGED
@@ -100,7 +100,17 @@
100
100
 
101
101
  @profile.id = @current_user.id
102
102
 
103
- ......
103
+ ......
104
+
105
+
106
+
107
+ ......
108
+
109
+ def profile_params
110
+
111
+ params.require(:profile).permit(..., :contact, languages_attributes: [:profile_id,:language,:rank])
112
+
113
+ end
104
114
 
105
115
  ```
106
116