첫 번째 Rails 앱 만들기 — Blog 프로젝트로 배우는 MVC

2025. 7. 5. 09:00·Ruby On Rails
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
'Ruby On Rails' 카테고리의 다른 글
  • ActiveRecord로 데이터 다루기 — CRUD의 정석
  • Rails의 라우팅 시스템 — config/routes.rb 제대로 이해하기
  • RoR 개발환경 구축 — macOS, Windows에서 시작하기
  • Ruby on Rails란 무엇인가? — 장인의 웹 프레임워크 입문기
코드를 걷는 사람
코드를 걷는 사람
devwanderer 님의 블로그 입니다.
  • 코드를 걷는 사람
    터미널 밖으로 나온 개발자
    코드를 걷는 사람
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Flutter
        • Flutter 게시판 앱 만들기
        • Flutter 뉴스 앱 만들기
        • Flutter 메모 앱 만들기
        • Flutter 캘린더 앱 만들기
        • Flutter 날씨 앱 만들기
      • Next.js
      • Ruby On Rails
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발블로그
    openweather
    날씨앱
    fluttertips
    뉴스앱
    flutter디자인
    감성앱
    rails보안
    Nextjs
    flutter상태관리
    코드를걷는사람
    table_calendar
    Firebase
    캘린더앱
    flutter게시판
    UIUX
    모바일앱개발
    백엔드개발
    flutter개발
    RubyOnRails
    flutter기초
    북마크기능
    UI디자인
    다크모드
    Flutter
    메모앱
    flutter앱개발
    정적사이트
    flutterui
    ActiveRecord
  • 최근 댓글

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
첫 번째 Rails 앱 만들기 — Blog 프로젝트로 배우는 MVC
상단으로

티스토리툴바