메일 발송 기능 구현 — ActionMailer와 Gmail SMTP 연동하기
·
Ruby On Rails
사용자 회원가입, 주문 확인, 비밀번호 재설정… 모든 서비스에는 메일 발송 기능이 필요합니다.Rails에서는 이를 위해 ActionMailer라는 전용 클래스가 제공되며, Gmail SMTP 서버를 이용하면 누구나 손쉽게 이메일을 전송할 수 있어요.이번 글에서는 회원가입 확인 메일을 예시로 ActionMailer + Gmail SMTP 연동을 처음부터 끝까지 정리해볼게요.📮 1. ActionMailer 클래스 생성$ bin/rails generate mailer UserMailer위 명령어를 실행하면 다음과 같은 파일이 생성됩니다:app/mailers/user_mailer.rbapp/views/user_mailer/ (메일 템플릿 디렉토리)✉️ 2. 메일 메서드 정의# app/mailers/user_m..
댓글 기능 추가하기 — 모델 연관관계 완전 정복
·
Ruby On Rails
게시판, 블로그, 커뮤니티… 어디서든 빠지지 않는 기능이 바로 댓글이죠.이번 글에서는 Post와 Comment 사이의 관계를 설정하고, 댓글 작성/조회/삭제까지 구현하면서 Rails의 모델 연관관계를 완전히 이해해볼 거예요.🧱 1. 모델 관계 설계: Post has_many CommentsPost가 여러 개의 Comment를 가지는 구조입니다.$ bin/rails g model Comment body:text post:referencespost:references는 post_id 컬럼을 자동으로 추가하고, 외래키 관계를 설정합니다.# db/migrate/xxxxx_create_comments.rbt.text :bodyt.references :post, null: false, foreign_key: tr..
관리자 페이지 만들기 — RailsAdmin vs ActiveAdmin
·
Ruby On Rails
서비스를 운영하다 보면 데이터를 직접 관리할 수 있는 관리자 페이지가 꼭 필요해집니다.CRUD를 위한 UI를 매번 직접 만들기엔 시간도 오래 걸리고, 보안도 신경 써야 하죠.Rails 생태계에는 이를 간단하게 구현할 수 있는 두 개의 강력한 도구가 있습니다. 바로 RailsAdmin과 ActiveAdmin입니다.이번 글에서는 두 라이브러리를 비교하고, 각각 어떻게 설치하고 사용하는지 살펴볼게요.🏁 1. RailsAdmin — 빠르고 직관적인 관리자 대시보드✅ 설치# Gemfilegem 'rails_admin'$ bundle install$ bin/rails g rails_admin:install$ bin/rails db:migrate설치가 끝나면 /admin 경로에 관리자 페이지가 자동 생성됩니다.🔐..
파일 업로드 구현 — ActiveStorage와 Cloudinary 활용하기
·
Ruby On Rails
사용자 프로필 이미지, 게시글 첨부 사진, 상품 썸네일 등 웹 서비스에는 파일 업로드가 빠질 수 없죠.Rails에서는 ActiveStorage를 통해 파일 업로드를 간편하게 처리할 수 있습니다. 그리고 이를 Cloudinary 같은 외부 스토리지와 연동하면 저장 공간 걱정 없이 이미지 최적화까지 누릴 수 있죠.이번 글에서는 ActiveStorage + Cloudinary 조합으로 파일 업로드 기능을 구현하는 과정을 정리합니다.📦 1. ActiveStorage 설치 및 설정Rails 5.2부터 내장된 ActiveStorage는 파일 업로드와 외부 스토리지 연동을 담당하는 기본 기능입니다.$ bin/rails active_storage:install$ bin/rails db:migrate이 명령어는 act..
Devise로 로그인 기능 구현하기 — 인증은 쉽게, 안전하게
·
Ruby On Rails
웹 서비스를 만들 때 가장 먼저 떠오르는 기능 중 하나는 회원가입과 로그인이죠.하지만 이걸 직접 구현하려면 암호화, 세션 처리, CSRF 보호 등 생각보다 고려할 게 많아요.이럴 때 Rails 개발자들이 가장 많이 선택하는 보석이 있으니, 바로 Devise입니다.이번 글에서는 Devise를 활용해 간단하게 로그인 시스템을 구현하는 방법을 실제 코드와 함께 알아봅니다.🔧 1. Devise 설치하기# Gemfilegem 'devise'$ bundle install$ bin/rails generate devise:install설치 후 출력되는 메시지를 따라 config/environments/development.rb에 메일 설정을 추가하고, flash 메시지를 layout에 렌더링해 주세요.# config..
Rails의 철학과 Convention over Configuration 이해하기
·
Ruby On Rails
Ruby on Rails는 단순한 웹 프레임워크가 아닙니다.그 안에는 생산성을 극대화하고, 아름다운 코드를 지향하는 철학이 녹아있어요.그 중심에는 바로 Convention over Configuration이라는 개념이 자리잡고 있죠.이번 글에서는 Rails를 움직이는 이 철학이 무엇인지, 왜 개발자에게 중요한지, 실제 코드에서 어떻게 구현되는지를 알아봅니다.🎯 Convention over Configuration이란?이 개념을 직역하면 "설정보다 관례"입니다.즉, Rails는 개발자가 명시적인 설정을 하지 않아도 합리적인 기본값(Default)을 제공해주는 방식이에요.Rails는 이렇게 말하죠:"우리가 추천하는 방식대로 만든다면, 설정 파일은 거의 필요 없을 거예요."📦 예시로 보는 Rails의 관례..