(AdonisJs 4.0 Tutorial) 관리자 수정하기
xyz/resources/views/mgmt/admin/update_form.edge
을 작성한다.<div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">관리자 수정</h4> </div> <div class="modal-body"> <form name="update_form" action="/mgmt/admin/update" method="post"> {{ csrfField() }} <div class="form-group"> <label>아이디</label> <input type="text" name="userid" class="form-control" readonly required pattern="[a-zA-Z0-9]+" value="{{ admin.userid }}"/> <input type="hidden" name="id" class="form-control" value="{{ admin.id }}" /> </div> <div class="form-group"> <label>별명 <small>(필수)</small></label> <input type="text" name="nick" class="form-control" required value="{{ admin.nick }}"/> </div> <div class="form-group" style="text-align: right"> <input class="btn btn-primary" type="submit" value="관리자 수정" /> </div> </form> </div>
xyz/Controllers/Http/Mgmt/AdminController.js
에 다음을 추가한다.... // 관리자 수정 폼 // /mgnt/admin/update_form/:id async update_form ({params, view}) { const admin = await Admin.find(params.id) return view.render('mgmt/admin/update_form', { admin: admin.toJSON() }) } ...
xyz/start/routes.js
에 다음을 추가한다.Route.get('/admin/update_form/:id', 'Mgmt/AdminController.update_form').as('mgmt_admin_update_form')
- 이제, 수정 버튼을 클릭하면 수정할 수 있는 폼이 나타나게 될 것이다. 마지막으로 실제로 수정을 처리하는 루틴을 작성하고 라우터에 등록하자.
xyz/app/Models/Admin.js
에 다음을 추가한다.... static async update (id, nick) { let admin = await this.find(id) admin.nick = nick await admin.save() } ...
xyz/Controllers/Http/Mgmt/AdminController.js
에 다음을 추가한다.... // 관리자 수정 // /mgmt/admin/update async update ({request, response}) { let id = request.input('id') let nick = request.input('nick') await Admin.update(id, nick) return response.route('mgmt_admin') } ...
xyz/start/routes.js
에 다음을 추가하고, 수정 작업을 진행해보자.Route.po
댓글
댓글 쓰기