2. 레일스는 어떻게 동작하는가?
참조 : 레일스를 위한 루비
-애플리케이션 개발 과정
1. 모델 구현
2. 컨트롤러 구현
3. 뷰 구현
-레일즈의 MVC
모델: ActiveRecord - actionpack에 속함
뷰: ActionVIew - actionpack에 속함
컨트롤러: ActionController - activerecord에 속함
gems 폴더 아래에 위치 합니다.
- Rails 샘플 애플리케이션 개발하기
1. 모델 구현
- 테이블의 이름은 복수형
- id라는 필드가 있어야 함
- y가 x에 속하면 y테이블에 x_id가 있어야 함
- SQL로 테이블을 만들어도 되고
- 레일즈의 마이그레이션을 사용해도 된다.
- 모델사이의 연관 설정하기
- 속한다. belong_to
- 가지고 있다. has_many
2. 컨트롤러 구현
- 액션 구현
- 전체 컨트롤러를 나타내는 ApplicationController
3. 뷰 구현
- layout "레이아웃 파일 이름" :: 레이아웃 설정
- 레이아웃의 컨텐츠가 들어갈 위치에 <%= @content_for_layout %> 삽입
- <% @composer.each do |composer| %> :: JSTL의 <c:forEach /> 와 비슷한 것
4. 접속하기
- 첫 페이지 변경하기 :: conflg/routes.rb 파일에서 설정
- 예) map.connect '', :controller => "main", :action => "welcome"
- 래일즈 애플리케이션 생명주기
1. 클라이언트가 서버로 요청을 보냄
2. 디스패처가 요청 받아서 담당할 컨트롤러 찾음
3. 요청을 처리하고 해당 액션과 연결되어 있는 뷰로 결과를 랜더링
4. ERb가 루비 코드를 변환해서 HTML 완성후 응답을 돌려줌
5. 클라이언트에서 HTML 확인