20210222(월)
2021-02-22
1. 학습 날짜
2021-02-21
2. 학습 시간
08:30 ~ 21:00
3. 학습 범위 및 주제
백본 view, model, collection
루비온레일즈
4. 학습 목표
PR 수정 및 PR 확인
5. 학습 정리
6. 상세 학습 내용
PR 리뷰를 수정했다.
전체적으로 크게 학습하고 수정한 내용은 없고 일부분에 대해서 리팩토링을 진행했다.
진행중에 조금은 재밌는걸 발견했는데 프론트에서 백엔드로 데이터를 post 로 전송하면 데이터가 두 번씩 전달되는 것.
하지만 특정 데이터만 그렇게 되고 어떤 데이터에 대해서는 두번씩 보내지지 않았다.
따라서 여기서 유추해 볼수있는게 이름 규칙에 따라서 레일즈가 찰떡같이 동작한다는것.
이 생각을 가지고 검색을 해보니깐 역시나 내 생각이 맞았다.
이 기능을 레일즈에서는
wrap-parameter
이라고 한다. 특정 데이터를 body로 담아서 쏘면 백엔드에서는 이걸 컨트롤러, 모델과 비교해서 만약 존재하는 컬럼이라면 해당 모델의 이름으로 한꺼풀 감싸주는 기능
루비 map에 조건걸기
루비 컬렉션에서 map 을 사용하면 모든 요소를 돌면서 작업을 수행한다.
다만 특정 조건이 있고 조건을 만족하지 않으면 해당 값에 map을 적용시키면 안된다고 해보자.
일반적인 반복문이라면 continue를 사용하면 되겠지만 안타깝게도 map 에는 continue 가 없다. 따라서 다른 방법을 찾아야했는데 발견한게 바로
reject
다. reject 를 사용하면 특정 조건에 해당하는 값에는 map 을 적용시키지 않으면서 자기에 해당하는 값에 원하는 함수를 걸 수 있게 된다.
7. 오늘 학습 내용에 대한 개인적인 총평
너무 졸려서 늦게까지하지는 못했다. 어떻게 코드를 짜는 것보다 PR 리뷰에 더 시간이 많이 들어가는 것 같다..
8. 다음 학습 계획
guild index 뷰 PR 마무리, group_detail 뷰 마무리
Last updated