본격적인 애플리케이션 개발은 rails new doable
명령어로 시작하여, Rails가 애플리케이션에 필요한 파일과 폴더를 생성하고 MVC(Model, View, Controller) 시스템을 설정하는 과정을 보여줍니다.
Rails 애플리케이션의 주요 구성 요소
- 앱 디렉토리 (app directory): Rails 애플리케이션의 핵심으로, 대부분의 작업이 이루어집니다.
- Models (M): 데이터베이스와 상호작용하며 데이터 구조를 정의합니다.
- Views (V): 최종 사용자에게 결과를 표시하는 파일을 정의합니다.
- Controllers (C): 데이터를 가져오고 뷰에 표시하기 위한 로직을 처리합니다.
- Config 디렉토리 (config directory): Rails의 모든 설정이 이루어지는 곳으로, 특히
routes.rb
파일은 애플리케이션으로 들어오는 요청을 처리하는 방법을 정의합니다. - Gemfile: 웹 애플리케이션에 필요한 모든 패키지(Gem)를 정의합니다.
rails s
명령어로 웹 서버를 실행하여 기본 애플리케이션이 작동하는 것을 확인한 후, rails generate scaffold to-do name:string description:text
명령어를 사용하여 To-Do 리소스에 필요한 모델, 뷰, 컨트롤러, 마이그레이션 파일 및 라우트 설정을 자동으로 생성합니다.
데이터베이스 마이그레이션 및 라우팅
bin/rails db:migrate
명령어를 통해 데이터베이스 스키마를 업데이트하고, schema.rb
파일을 통해 데이터베이스 구조를 확인합니다. 마이그레이션 파일은 데이터베이스의 버전 관리와 같아서 팀원 간에 데이터베이스 구조를 동기화하는 데 중요합니다. bin/rails routes
명령어를 통해 resources :todos
한 줄이 To-Do 리소스에 대한 모든 CRUD(Create, Read, Update, Delete) 작업을 처리하는 다양한 경로를 어떻게 생성하는지 상세히 설명합니다.
MVC 흐름 이해
사용자의 요청이 라우팅 파일을 통해 적절한 컨트롤러 액션으로 전달되고, 컨트롤러는 모델을 사용하여 데이터베이스에서 데이터를 가져온 다음, 뷰가 이 데이터를 최종 사용자에게 웹 페이지로 표시하는 일반적인 MVC 흐름을 시각적으로 설명합니다. 이 과정을 통해 Rails의 scaffold
명령어가 얼마나 강력하고 효율적으로 완전한 기능을 갖춘 애플리케이션을 구축할 수 있는지 강조합니다.