Rails 애플리케이션은 rails new [앱_이름]
으로 시작하며, 이는 MVC(Model-View-Controller) 구조의 기본 틀을 제공합니다. app
디렉토리에는 모델(데이터베이스 상호작용), 뷰(사용자 인터페이스), 컨트롤러(데이터 처리 로직)가 포함됩니다. config/routes.rb
는 요청 처리 방식을 정의하고, Gemfile
은 필요한 라이브러리를 관리합니다. rails s
로 웹 서버를 실행할 수 있습니다.
To-Do 앱의 CRUD 기능을 위해 rails generate scaffold ToDo name:string description:text
명령을 사용합니다. 이 강력한 명령은 To-Do 모델, 뷰, 컨트롤러를 자동 생성하며, 데이터베이스 마이그레이션 파일(db/migrate
)과 라우팅(resources :todos
를 routes.rb
에 추가)까지 자동으로 설정합니다. 마이그레이션 파일은 데이터베이스 스키마의 버전 관리를 담당하며, bin/rails db:migrate
로 데이터베이스를 업데이트합니다. schema.rb
는 현재 데이터베이스 구조를 보여줍니다.
resources :todos
는 To-Do 리소스에 대한 모든 CRUD 라우트를 정의하며, bin/rails routes
로 확인 가능합니다. 예를 들어, GET /todos
요청은 TodosController
의 index
액션으로 연결됩니다. 컨트롤러는 ToDo.all
과 같이 모델(Active Record 기반)을 통해 데이터베이스에서 데이터를 가져오고, 이 데이터는 해당 뷰(views/todos/index.html.erb
)에서 사용자에게 표시됩니다. bin/rails c
를 통해 Rails 콘솔에서 모델의 데이터베이스 상호작용을 직접 테스트할 수 있습니다. 이 전체 과정은 사용자 요청이 라우팅을 거쳐 컨트롤러, 모델로 흐르고, 다시 뷰를 통해 응답하는 Rails의 전형적인 MVC 패턴을 따릅니다.