웹 애플리케이션은 브라우저, 서버, 데이터베이스 간의 유기적인 상호작용으로 구동됩니다. 사용자가 브라우저를 통해 URL에 접속하면, 브라우저는 서버(Rails 애플리케이션)에 요청을 보내고, 서버는 HTML/CSS/JavaScript로 구성된 웹 페이지를 생성하여 회신합니다. HTTP 프로토콜은 GET(읽기), POST(생성), PUT(수정), DELETE(삭제)와 같은 요청 유형을 정의하며, 이는 데이터베이스의 CRUD 작업과 직접 연결됩니다.
Rails의 MVC 패턴은 이러한 로직을 체계적으로 관리합니다.
* Models (모델): 데이터 구조와 데이터베이스 상호작용을 담당합니다. ‘Active Record’ ORM을 통해 SQL 없이도 객체 지향적으로 데이터베이스를 다룰 수 있어 복잡성을 줄여줍니다 (예: User.all
).
* Views (뷰): 사용자가 보는 UI(HTML, CSS, JavaScript)를 정의합니다.
* Controllers (컨트롤러): 브라우저 요청을 받아 적절한 액션을 수행하는 중앙 제어부입니다. HTTP 요청을 매핑하고, 데이터를 검증하며, 모델과 상호작용 후 뷰를 선택하여 응답합니다.
routes.rb
파일은 URL 패턴을 특정 컨트롤러 액션으로 매핑하여 요청이 올바른 로직으로 전달되도록 안내하는 중요한 역할을 합니다.