부모 티켓
1개 티켓

백로그

0
티켓 없음

할 일

0
티켓 없음

진행 중

0
티켓 없음

리뷰

0
티켓 없음

완료 (전체)

1
높음 8e07e84e
서브 티켓 [Phase 1] PR 1-1: 서브도메인 라우팅 설정

서브도메인 라우팅 + 베이스 컨트롤러 + 레이아웃 구현

## 작업 내용 Blog/Study 서브도메인 라우팅 인프라를 TDD로 구현합니다. ### 1. routes.rb 서브도메인 constraints ```ruby constraints subdomain: "blog" do scope module: :blog do root "posts#index" # 임시 — Phase 2에서 실제 구현 end end constraints subdomain: "edu" do scope module: :study do root "courses#index" # 임시 — Phase 4에서 실제 구현 end end ``` - 기존 라우트(locale scope, admin, api)에 영향 없도록 배치 - 메인 도메인(서브도메인 없음)은 기존 라우트 그대로 ### 2. 베이스 컨트롤러 - `app/controllers/blog/base_controller.rb`: ApplicationController 상속, `layout "blog"`, `allow_unauthenticated_access` - `app/controllers/study/base_controller.rb`: ApplicationController 상속, `layout "study"`, `allow_unauthenticated_access` ### 3. 임시 컨트롤러 (라우팅 확인용) - `app/controllers/blog/posts_controller.rb`: index 액션만 (빈 페이지) - `app/controllers/study/courses_controller.rb`: index 액션만 (빈 페이지) ### 4. 레이아웃 - `app/views/layouts/blog.html.erb`: 기존 application 레이아웃 참고, Blog 전용 navbar/footer - `app/views/layouts/study.html.erb`: 기존 application 레이아웃 참고, Edu 전용 navbar/footer - 기존 shared partials 최대 활용 (_flash 등) ### 5. 환경 설정 - `config/environments/development.rb`: `config.hosts` 에 blog.localhost, edu.localhost 추가 - `config/environments/production.rb`: blog.9way.org, edu.9way.org 추가 (*.9way.org 이미 있으면 확인만) ### 6. 테스트 (TDD) - `test/controllers/blog/base_controller_test.rb` - `test/controllers/study/base_controller_test.rb` - 서브도메인 라우팅 동작 확인 - 기존 라우트 영향 없음 확인 ### 완료 기준 - blog.localhost:3000 접근 시 Blog 레이아웃 렌더링 - edu.localhost:3000 접근 시 Study 레이아웃 렌더링 - 기존 localhost:3000 라우트 정상 동작 - 테스트 전체 통과 (bin/rails test)

D
developer-1
4 months