728x90
반응형
드디어 Ruby on Rails 실전의 첫 발걸음을 뗍니다. 이번 포스팅에서는 Blog 애플리케이션을 직접 만들어 보며, Rails의 핵심 구조인 MVC (Model-View-Controller) 패턴을 자연스럽게 익히게 될 거예요. 복잡한 이론보다는 직접 실행하며 배우는 방식으로 접근해보죠.
📦 프로젝트 생성
$ rails new blog
$ cd blog
rails new
명령어는 Rails 앱의 기본 뼈대를 만들어 줍니다. 생성된 디렉토리 안에는 다양한 폴더와 파일들이 구조적으로 구성되어 있죠.
- app/models — 데이터와 관련된 로직
- app/views — 사용자에게 보여지는 UI
- app/controllers — 요청을 받고 처리하는 중간 관리자
📘 Scaffold로 블로그 포스트 모델 생성
$ bin/rails generate scaffold Post title:string content:text
Scaffold는 모델, 뷰, 컨트롤러, 마이그레이션까지 한 번에 만들어주는 Rails의 마법 같은 기능이에요. 위 명령어를 실행하면 다음과 같은 구조가 자동 생성됩니다:
- Model:
app/models/post.rb
- Controller:
app/controllers/posts_controller.rb
- Views:
app/views/posts/*
- Migration 파일
🧱 데이터베이스 초기화 및 서버 실행
$ bin/rails db:migrate
$ bin/rails server
localhost:3000/posts
에 접속하면 블로그 글을 작성하고 수정하고 삭제할 수 있는 기본 UI가 이미 완성되어 있어요!
🔍 MVC 흐름, 진짜 이해하기
우리가 방금 생성한 Blog 앱은 Rails의 MVC 구조를 온전히 따릅니다.
역할 | 기능 | 예시 |
---|---|---|
Model | 데이터 구조와 DB 연동 | Post 모델에 title, content 존재 |
View | 사용자에게 보여지는 화면 | app/views/posts/index.html.erb |
Controller | 요청 처리 및 로직 연결 | PostsController의 create, update, delete |
🧪 코드 한 눈에 보기
# app/models/post.rb
class Post < ApplicationRecord
validates :title, presence: true
end
# app/controllers/posts_controller.rb (일부)
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render :new
end
end
🎯 마무리하며
Rails에서는 단 몇 줄의 명령어로 전체 웹 애플리케이션의 골격을 만들어낼 수 있습니다. 직접 실행해보면서 MVC 구조가 얼마나 유기적으로 연결되어 있는지 느껴보셨을 거예요. 다음 편에서는 이 Blog 앱에 댓글 기능을 추가하며 모델 간의 관계 (association)를 배워볼 예정입니다. 함께 계속해봐요!
728x90
반응형
'Ruby On Rails' 카테고리의 다른 글
Rails에서의 MVC 구조 진짜 제대로 파보기 (2) | 2025.07.08 |
---|---|
ActiveRecord로 데이터 다루기 — CRUD의 정석 (0) | 2025.07.07 |
Rails의 라우팅 시스템 — config/routes.rb 제대로 이해하기 (0) | 2025.07.06 |
RoR 개발환경 구축 — macOS, Windows에서 시작하기 (1) | 2025.07.04 |
Ruby on Rails란 무엇인가? — 장인의 웹 프레임워크 입문기 (2) | 2025.07.03 |