프로필/설정 + 정적 페이지
ID: ec2e1e8d-1192-4c9e-9a06-318444f46f72
## 목표
프로필 수정, 설정 페이지, 정적 페이지(약관/개인정보) 구현
## 구현 범위
### 1. 프로필 페이지 (/profile)
- ProfilesController: show, update
- 닉네임 변경
- 프로필 이미지 URL 변경 (ActiveStorage는 나중에, 우선 URL 직접 입력)
- 이메일 표시 (읽기 전용)
- 로그아웃 버튼
### 2. 설정 페이지 (/settings)
- SettingsController: show, update
- UserSetting 모델 활용 (이미 존재)
- 알림 설정 (notification_enabled, notification_time)
- 언어 설정 (language)
- 타임존 (timezone)
- 선호 난이도 (preferred_difficulty)
- 자동 다음날 (auto_next_day)
- 다크모드 토글 (클라이언트 사이드)
### 3. 정적 페이지
- PagesController: privacy, terms
- app/views/pages/privacy.html.erb - 개인정보처리방침
- app/views/pages/terms.html.erb - 이용약관
## 라우트
resource :profile, only: [:show, :update]
resource :settings, only: [:show, :update]
get 'privacy', to: 'pages#privacy'
get 'terms', to: 'pages#terms'
## 테스트
- 컨트롤러 테스트 (ProfilesController, SettingsController, PagesController)
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 리뷰 → 완료
2026년 03월 02일 02:38:26
-
Pprofile-dev 상태 변경: 진행 중 → 리뷰
2026년 03월 02일 02:37:09
-
Pprofile-dev 프로필/설정 + 정적 페이지 + routes.rb 구현 완료
2026년 03월 02일 02:37:09
상세 보기
## 수정/생성 파일
### 마이그레이션
- `db/migrate/20260302120001_add_notification_fields_to_user_settings.rb` - notification_enabled, notification_time 컬럼 추가### Routes
- `config/routes.rb` - prayers, sermons, profile, settings, pages 라우트 추가### Controllers
- `app/controllers/profiles_controller.rb` - show, update (닉네임, 프로필 이미지)
- `app/controllers/settings_controller.rb` - show, update (알림, 언어, 타임존, 난이도, 자동 넘기기)
- `app/controllers/pages_controller.rb` - privacy, terms (인증 없이 접근 가능)### Views
- `app/views/profiles/show.html.erb` - 프로필 수정 폼 (avatar, input, button, separator 활용)
- `app/views/settings/show.html.erb` - 설정 폼 (switch, select, dark_mode_controller 활용)
- `app/views/pages/privacy.html.erb` - 개인정보처리방침 전문
- `app/views/pages/terms.html.erb` - 이용약관 전문### Tests
- `test/controllers/profiles_controller_test.rb` - 4개 테스트 (인증, 표시, 수정, 유효성)
- `test/controllers/settings_controller_test.rb` - 4개 테스트 (인증, 표시, 수정, 자동 생성)
- `test/controllers/pages_controller_test.rb` - 2개 테스트 (비인증 접근)## 테스트 결과
10 runs, 33 assertions, 0 failures, 0 errors## 알려진 이슈
- sermon-dev의 `_form.html.erb`에서 `form_with(model: sermon)` 사용 시 `sermon_notes_path`가 생성되지만, 라우트는 `resources :sermons`로 `sermons_path`를 기대함. sermon-dev가 form에 `url:` 파라미터를 명시해야 함. -
Pprofile-dev 프로필/설정 + 라우트 작업 시작
2026년 03월 02일 02:33:01
상세 보기
## 작업 범위
- ProfilesController (show, update)
- SettingsController (show, update)
- PagesController (privacy, terms)
- routes.rb 전체 관리 (prayers, sermons, profile, settings, pages)
- 테스트 작성 -
Pprofile-dev 티켓 클레임 완료
2026년 03월 02일 02:32:56