관리자 페이지 만들기 — RailsAdmin vs ActiveAdmin

2025. 7. 17. 09:00·Ruby On Rails
728x90
반응형

서비스를 운영하다 보면 데이터를 직접 관리할 수 있는 관리자 페이지가 꼭 필요해집니다.
CRUD를 위한 UI를 매번 직접 만들기엔 시간도 오래 걸리고, 보안도 신경 써야 하죠.
Rails 생태계에는 이를 간단하게 구현할 수 있는 두 개의 강력한 도구가 있습니다. 바로 RailsAdmin과 ActiveAdmin입니다.

이번 글에서는 두 라이브러리를 비교하고, 각각 어떻게 설치하고 사용하는지 살펴볼게요.


🏁 1. RailsAdmin — 빠르고 직관적인 관리자 대시보드

✅ 설치

# Gemfile
gem 'rails_admin'
$ bundle install
$ bin/rails g rails_admin:install
$ bin/rails db:migrate

설치가 끝나면 /admin 경로에 관리자 페이지가 자동 생성됩니다.

🔐 인증 추가 예시 (Devise 연동)


# config/initializers/rails_admin.rb
RailsAdmin.config do |config|
  config.authenticate_with do
    redirect_to main_app.root_path unless current_user&.admin?
  end
  config.current_user_method(&:current_user)
end

🌟 장점

  • 설정이 간단하고 바로 쓸 수 있음
  • 디자인이 깔끔하고 현대적
  • Devise, Pundit 등과 쉽게 연동 가능

⚠️ 단점

  • 세세한 커스터마이징은 제한적
  • 버전에 따라 한글화/업데이트가 느릴 수 있음

📊 2. ActiveAdmin — DSL 기반의 유연한 관리자 페이지

✅ 설치

# Gemfile
gem 'activeadmin'
$ bundle install
$ bin/rails g active_admin:install
$ bin/rails db:migrate
$ bin/rails server

/admin 경로에서 ActiveAdmin이 실행됩니다.

🛠️ 리소스 등록

$ bin/rails g active_admin:resource Post

# app/admin/post.rb
ActiveAdmin.register Post do
  permit_params :title, :content
end

🎨 장점

  • 관리 화면 구성 커스터마이징이 뛰어남 (DSL 기반)
  • 필터, 폼 구성, 액션 커스터마이징 자유로움
  • 상세한 문서 제공

⚠️ 단점

  • 초기 설정이 다소 복잡
  • 디자인이 약간 클래식

🔍 어떤 걸 선택해야 할까?

기준 RailsAdmin ActiveAdmin
설정 편의성 ⭐️⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️
UI/UX 모던하고 간결함 클래식하지만 기능 풍부
커스터마이징 제한적 매우 자유로움
권한 관리 Devise, Pundit 연동 쉬움 CanCanCan 등과 연계 강력

🎯 마치며

관리자 페이지는 개발자뿐 아니라 운영자가 직접 데이터를 관리할 수 있게 해주는 중요한 도구입니다.
RailsAdmin은 빠르게 시작할 수 있는 경량 관리자,
ActiveAdmin은 복잡한 관리 시스템에도 잘 어울리는 강력한 도구예요.

여러분의 프로젝트 규모와 필요에 따라 적절한 선택을 해보세요!

728x90
반응형

'Ruby On Rails' 카테고리의 다른 글

메일 발송 기능 구현 — ActionMailer와 Gmail SMTP 연동하기  (3) 2025.07.24
댓글 기능 추가하기 — 모델 연관관계 완전 정복  (4) 2025.07.22
파일 업로드 구현 — ActiveStorage와 Cloudinary 활용하기  (1) 2025.07.15
Devise로 로그인 기능 구현하기 — 인증은 쉽게, 안전하게  (0) 2025.07.13
Rails의 철학과 Convention over Configuration 이해하기  (6) 2025.07.12
'Ruby On Rails' 카테고리의 다른 글
  • 메일 발송 기능 구현 — ActionMailer와 Gmail SMTP 연동하기
  • 댓글 기능 추가하기 — 모델 연관관계 완전 정복
  • 파일 업로드 구현 — ActiveStorage와 Cloudinary 활용하기
  • Devise로 로그인 기능 구현하기 — 인증은 쉽게, 안전하게
코드를 걷는 사람
코드를 걷는 사람
devwanderer 님의 블로그 입니다.
  • 코드를 걷는 사람
    터미널 밖으로 나온 개발자
    코드를 걷는 사람
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Flutter
        • Flutter 게시판 앱 만들기
        • Flutter 뉴스 앱 만들기
        • Flutter 메모 앱 만들기
        • Flutter 캘린더 앱 만들기
        • Flutter 날씨 앱 만들기
      • Next.js
      • Ruby On Rails
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • 반응형
    250x250
  • hELLO· Designed By정상우.v4.10.3
코드를 걷는 사람
관리자 페이지 만들기 — RailsAdmin vs ActiveAdmin
상단으로

티스토리툴바