20201230(수)
스캐폴딩을 사용하지 않으면 기본적인 모델, 컨트롤러도 생성하지 못하는 남상혁....
2020-12-30
1. 학습 날짜
2020-12-30
2. 학습 시간
09:30 ~ 22:00
3. 학습 범위 및 주제
루비온레일즈 라우팅, 간단한 사이트 만들어보기
4. 학습 목표
페펙트 루비 온 레일즈 7장
간단한 사이트 만들어보자
5. 과제 제출
x
6. 상세 학습 내용
어제 학습했던 라우팅 복습
간단한 사이트 만들어보기
목표: 게시물을 작성하는 사이트. 기본적으로 게시글을 쓰기 위해서는 로그인을 해야함. 단순히 글을 읽기 위해서는 로그인을 할 필요는 없음
로그인, 로그아웃 버튼을 기본 레이아웃으로 적용한다. 만약 로그인이 되어있다면
로그아웃
버튼이 나오고 반대로 로그인이 되어있지 않다면로그인
버튼이 나온다.오늘은 로그인 기능까지만 구현했다.
시행착오
이전까지 계속
scaffolding
기능으로 모델, 컨트롤러를 한번에 만드는 버릇이 들어서인지 생각보다 모델과 컨트롤러를 만드는게 쉽지는 않았다. 따라서 간단한 rails 명령어를 다시 학습해야만 했다.프로젝트 경로 이름에 한글이 들어가면 안된다. 이 문제 때문에 몇 시간을 날렸다 하하
erb
파일에서password
필드는 배열의 행태로 들어온다.params[:password]
는 통상적으로string
으로 생각하기 쉽지만array
의 형태다!컨트롤러에서
render plain:
등을 사용하면html
파일을 렌더링하지 않기 때문에 기본layout
이 적용되지 않는다.scaffold로 모델, 컨트롤러, 뷰를 만들면
_from_...
파일에form_with (model: user)
가 있다. 이 파일은new
와edit
두개에서 공통으로 사용된다. 하지만 이 둘의 행동은 달라야 하는데 어떻게 구분하는걸까?인자로 들어온
model
를 보고 구분한다. 만약new
에서 렌더링된거라면user
는 비어있다. 따라서form_with
는 RESTful하게 알아서create
메서드를 호출하게 만들고, 비어있지 않다면 자연스럽게 `edit으로 액션을 정한다.
7. 오늘 학습 내용에 대한 개인적인 총평
흠.. 오늘은 나쁘지 않게 학습한 것 같다. 내일은 더 열심히 해봐야겠다.
8. 다음 학습 계획
게시물 작성
로그인 유무에 따라 동작을 다르게
유저 생성 보강하기
비밀번호는 두 번 입력하게 만들기
비밀번호 보안 처리 하기
리뷰 기능 구현하기
리뷰는 유저와 게시물에 belongs_to 되게 만들자.
Last updated