回答編集履歴

2

追記

2020/09/12 15:04

投稿

unhappychoice
unhappychoice

スコア1531

test CHANGED
@@ -5,3 +5,133 @@
5
5
  とあるので、コントローラーにて strong parameter の設定を確認してください。
6
6
 
7
7
  リクエストのパラメーターには含まれていても、保存時に許可されていないように見えます。
8
+
9
+
10
+
11
+ ### 追記
12
+
13
+
14
+
15
+ ```
16
+
17
+ <!-- = f.fields_for :pokemon do |pokemon| -->
18
+
19
+ = f.fields_for :pokemons do |pokemon| <!-- accept_nested_attributes_for の名称と合わせる必要があります -->
20
+
21
+ ```
22
+
23
+
24
+
25
+ ```
26
+
27
+ class PartiesController < ApplicationController
28
+
29
+ # ...
30
+
31
+
32
+
33
+ def create
34
+
35
+ # accept_nested_attributes_for しているので、 @party.save で Pokemon も保存されます
36
+
37
+ # @pokemon = Pokemon.new(pokemon_params)
38
+
39
+ # @pokemon.save
40
+
41
+ @party = Party.new(party_params)
42
+
43
+ @party.save
44
+
45
+ redirect_to root_path, notice: 'パーティを作成しました'
46
+
47
+ end
48
+
49
+
50
+
51
+ def show
52
+
53
+ @party = Party.find(params[:id])
54
+
55
+ end
56
+
57
+
58
+
59
+ def edit
60
+
61
+ @party = Party.find(params[:id])
62
+
63
+ end
64
+
65
+
66
+
67
+ def update
68
+
69
+ @party = Party.find(params[:id])
70
+
71
+ end
72
+
73
+
74
+
75
+ def destroy
76
+
77
+ @party = Party.find(params[:id])
78
+
79
+ end
80
+
81
+
82
+
83
+ private
84
+
85
+
86
+
87
+ # 不要なはず
88
+
89
+ #def pokemon_params
90
+
91
+ # params.permit(
92
+
93
+ # :name, :nickname, :gender, :ability, :nature, :item, :move1, :move2, :move3, :move4,
94
+
95
+ # :cs_hp, :cs_attack, :cs_defense, :cs_special_attack, :cs_special_defense, :cs_speed,
96
+
97
+ # :bs_hp, :bs_attack, :bs_defense, :bs_special_attack, :bs_special_defense, :bs_speed,
98
+
99
+ # :ev_hp, :ev_attack, :ev_defense, :ev_special_attack, :ev_special_defense, :ev_speed
100
+
101
+ # )
102
+
103
+ #end
104
+
105
+
106
+
107
+ def party_params
108
+
109
+ # params は params[:party][:pokemons_attributes] のように入っているので require(:party) は必要そうです
110
+
111
+ params.require(:party).permit(
112
+
113
+ :party_name,
114
+
115
+ pokemons_attributes:[
116
+
117
+ :name, :nickname, :gender, :ability, :nature, :item, :move1, :move2, :move3, :move4,
118
+
119
+ :cs_hp, :cs_attack, :cs_defense, :cs_special_attack, :cs_special_defense, :cs_speed,
120
+
121
+ :bs_hp, :bs_attack, :bs_defense, :bs_special_attack, :bs_special_defense, :bs_speed,
122
+
123
+ :ev_hp, :ev_attack, :ev_defense, :ev_special_attack, :ev_special_defense, :ev_speed
124
+
125
+ ]
126
+
127
+ )
128
+
129
+ end
130
+
131
+ end
132
+
133
+ ```
134
+
135
+
136
+
137
+ Pokemon のパラメーターすべてを確認していないのと、 View が中略されているので確実に動くかはわかりませんが、雰囲気はこのような形だと思います。

1

修正

2020/09/12 15:04

投稿

unhappychoice
unhappychoice

スコア1531

test CHANGED
@@ -3,3 +3,5 @@
3
3
 
4
4
 
5
5
  とあるので、コントローラーにて strong parameter の設定を確認してください。
6
+
7
+ リクエストのパラメーターには含まれていても、保存時に許可されていないように見えます。