質問編集履歴

1

自己解決できたのでコードを記述しました。

2018/01/10 13:55

投稿

koume
koume

スコア458

test CHANGED
File without changes
test CHANGED
@@ -155,3 +155,83 @@
155
155
 
156
156
 
157
157
  どなたか教えていただけないでしょうか?宜しくお願いします。
158
+
159
+
160
+
161
+ 追記:自己解決できました。解決方法を記述します。
162
+
163
+ ```ここに言語を入力
164
+
165
+ def update
166
+
167
+ @bank_form = Customer::BankForm.new(Bank.find_by(customer_id: current_customer.id))
168
+
169
+ @bank_form.assign_attributes(params[:form])
170
+
171
+ if @bank_form.save
172
+
173
+ flash.notice = '口座アカウントを更新/登録しました。'
174
+
175
+ redirect_to :customer_root
176
+
177
+ else
178
+
179
+ flash.now.alert = '入力に誤りがあります。'
180
+
181
+ render action: 'edit'
182
+
183
+ end
184
+
185
+ end
186
+
187
+ ```
188
+
189
+ ```ここに言語を入力
190
+
191
+ bank_form.rb
192
+
193
+
194
+
195
+ class Customer::BankForm
196
+
197
+ include ActiveModel::Model
198
+
199
+
200
+
201
+ attr_accessor :bank
202
+
203
+ delegate :persisted?, :save, to: :bank
204
+
205
+
206
+
207
+ def initialize(bank = nil)
208
+
209
+ @bank = bank
210
+
211
+ @bank ||= Bank.new
212
+
213
+ end
214
+
215
+
216
+
217
+ def assign_attributes(params = {})
218
+
219
+ @params = params
220
+
221
+ bank.assign_attributes(bank_params)
222
+
223
+ end
224
+
225
+
226
+
227
+ private
228
+
229
+ def bank_params
230
+
231
+ @params.require(:bank).permit(:bk_name, :office, :account)
232
+
233
+ end
234
+
235
+ end
236
+
237
+ ```