데이터베이스 기반 웹 앱 개발을 위한 MVC 구조 표준화
데이터베이스와 연결된 웹 사이트를 만들 때 필요한 모델, 뷰, 컨트롤러 구조를 한 번에 갖춘 채로 시작할 수 있습니다. Ruby 언어로 작성된 이 프레임워크는 데이터베이스 행을 객체로 다루고, HTML 템플릿을 렌더링하며, HTTP 요청을 처리하는 과정을 표준화합니다. 덕분에 개발자는 기초 구조를 직접 짜지 않고 바로 비즈니스 로직에 집중할 수 있습니다.
MVC 패턴의 세 가지 층위
Rails는 애플리케이션을 모델, 뷰, 컨트롤러 세 부분으로 나누어 각자의 책임을 명확히 합니다. 모델 층은 ActiveRecord::Base를 상속받아 데이터베이스의 데이터를 객체로 표현하고 비즈니스 로직을 포함합니다. 뷰 층은 Action View를 사용해 HTML과 Ruby 코드가 섞인 ERB 템플릿을 렌더링하여 사용자에게 보여줄 화면을 만듭니다. 컨트롤러 층은 Action Dispatch와 Action Controller를 통해 들어오는 HTTP 요청을 받아들이고, 모델을 조작한 뒤 적절한 응답을 반환합니다.
함께 제공되는 핵심 라이브러리
기본 MVC 구조 외에도 Rails는 웹 개발에 자주 필요한 기능들을 별도의 라이브러리로 제공합니다.
- 이메일 처리 Action Mailer로 이메일 생성과 전송을, Action Mailbox로 수신 처리를 담당합니다.
- 백그라운드 작업 Active Job은 다양한 큐잉 백엔드에서 작업을 실행하도록 선언합니다.
- 실시간 통신 Action Cable은 웹소켓을 Rails 애플리케이션에 통합합니다.
- 파일 관리 Active Storage는 클라우드나 로컬 파일을 애플리케이션에 첨부합니다.
첫 실행까지의 과정
시작하려면 터미널에서 gem install rails 명령으로 Rails를 설치합니다. 이후 rails new myapp 명령으로 새 애플리케이션을 생성하고, 해당 디렉터리로 이동한 뒤 bin/rails server를 실행합니다. 서버가 시작되면 브라우저에서 http://localhost:3000 주소를 방문하면 Rails 부팅 화면과 현재 사용 중인 Rails 및 Ruby 버전을 확인할 수 있습니다. 이 단계까지 완료되면 개발을 위한 기본 환경이 준비된 상태입니다.
개별 모듈 활용과 기여 가이드
Active Record, Active Model, Action Pack, Action View는 Rails 전체가 아닌 개별적으로도 사용할 수 있습니다. 이는 Rails의 특정 부분만 필요할 때 유연하게 적용할 수 있음을 의미합니다. 프로젝트에 참여하거나 버그를 보고할 때는 Rails의 기여 가이드와 보안 정책을 따르며, 모든 상호작용은 Rails 행동 강령을 준수해야 합니다. 라이선스는 MIT 라이선스로 공개되어 있어 상업적 사용도 가능합니다.