이번엔 CRUD 중 Update 기능을 추가할 것이다.
다른 건 그대로 유지하고, "Finished" 버튼을 누르면 status만 In progress에서 Completed로 변경하고자 한다.
데이터 수정의 상세한 과정은 아래와 같다.
우선, index 파일에서 Finished 버튼이 있는 코드를 찾는다.
그 후, button을 form 태그로 묶고, method는 post로, action은 /update로 설정한다.
그리고 input 태그를 추가하여 id를 받아올 수 있게 한다.
(전체 코드는 {{#todos}}{{/todos}}로 둘러쌓여 있기 때문에 그냥 id라고 써도 괜찮다.)

그 후 editTodo() 메서드를 작성한다.

Finished 버튼을 누르면 변경된 Status가 적용됨을 확인할 수 있다.

취소선을 긋고 배경색을 변경하는 로직은 css 파일에서 수행해야 한다.
그런데 이 과정이 엔티티도 수정해야 하고 컨트롤러도 수정해야 해서 상당히 복잡하다. 그냥 뷰 상에서 수행하고 싶었는데, Mustache의 특성상 힘들 것 같다.
이건 추후 Thymeleaf를 사용하여 시도해보려고 한다.