20201221(월)
스캐폴딩 마스터!
2020-12-21
1. 학습 날짜
2020-12-21
2. 학습 시간
09:30 ~ 12:00, 15:30 ~ 23:30
3. 학습 범위 및 주제
루비온레일즈
클린코드
4. 학습 목표
루비온레일즈 스캐폴드 기능에 대해 실습하고 정리한다.
클린코드를 읽고 정리한다.
5. 과제 제출
x
6. 상세 학습 내용
루비온레일즈
오늘은 ROR의 스캐폴딩 기능을 사용해서 간단한 웹 애플리케이션을 만들었다. 솔직히 말해서 스캐폴딩 기능으로 만들면 단 하나의 명령으로 아주 심플하게 동작하는 웹 애플리케이션을 만들 수 있다. 그 명령은
rails generate scaffold [model name] [attr, ] [options]
와 같다. 이렇게 model name 을 사용해서 만들면 이 이름에 맞게 컨트롤러, 뷰 등이 생성된다.즉 스캐폴딩을 이용하면 초보자도 단번에 웹을 띄을 수 있다는 것이고 그리고 분석을 하면서 배울게 많아진다는 뜻! 따라서 오늘은 스캐폴딩의 결과로 나오는 파일들과 코드를 분석하는 시간을 가졌다.
위에서 스캐폴딩 기능으로 모델, 컨트롤러, 뷰를 만들었다. 하지만 바로 실행되지 않는다. 왜냐하면 db 생성을 하지 않았기 때문. db 의 생성과 수정을 할 때는 반드시
rake db:migrate
명령을 사용해주자. 이제 서버가 동작한다.가장 먼저 살펴볼것은
route
다. 어느 주소로 클라이언트가 어떤 메소드로 요청을 했을 때 서버가 동작하는지를 단번에 파악할 수 있는 곳이기 때문이다. 따라서rails routes | grep [name]
명령으로 라우트를 파악한다.기존에는
get /posts/index => posts#index
와 같은 라인을 각 URI 마다 처리해줬지만, 이건 반복이다. 그리고 ROR은 반복을 매우 싫어한다. 즉 메써드화가 되어있다.config/routes.rb
파일에 들어가보면 단 한줄resource
로만 처리한다.이후에는 index, show, new, create, edit, update 그리고 destroy를 학습한다.
index는 생각하는 대로 기본 페이지를 보여주는 곳이다. 여기에서는 모든 저장된 데이터를 다 리스트로 보여주는게 index.
흠... 너무 많다
7. 오늘 학습 내용에 대한 개인적인 총평
오늘은 꽤 공부를 많이한거 같다. 내일도 화이팅하자.
8. 다음 학습 계획
루비온레일즈
Last updated