Rails 주간 업데이트: 라우팅, Active Storage, 시간 추적 및 Rate Limiting 개선

Improvements to routing, Active Storage configs, time tracking, and more

작성자
발행일
2025년 09월 19일

핵심 요약

  • 1 Active Storage 설정 유연성 강화로 분석기 및 변형 프로세서 비활성화 기능이 복원되었습니다.
  • 2 시간 속성 더티 트래킹 오류가 수정되었으며, Rate Limiting에 메서드 이름 지원이 추가되었습니다.
  • 3 루트 마운트 엔진의 SCRIPT_NAME 라우팅 문제가 해결되었고, Capybara rich_text_area 셀렉터가 일반화되었습니다.

도입

Emmanuel Hayford가 전하는 Rails 코드베이스의 최신 소식입니다. 2025년 9월 19일자 업데이트는 라우팅, Active Storage 설정, 시간 추적, Rate Limiting 등 다양한 핵심 영역에서 중요한 개선 사항들을 포함하고 있습니다. 이번 변경 사항들은 Rails 애플리케이션의 안정성과 개발 편의성을 한층 더 향상시키는 데 초점을 맞추고 있습니다. 또한, 혹시 놓치셨다면 #RailsWorld 2025의 모든 강연이 현재 온라인에서 시청 가능합니다.

이번 주 Rails 업데이트의 주요 내용은 다음과 같습니다.

라우팅 및 엔진 개선

  • 루트 마운트 엔진의 SCRIPT_NAME 처리 수정: 루트( / )에 마운트된 엔진에서 SCRIPT_NAME 사용 시 URL 헬퍼가 스크립트 이름을 잘못 제거하던 문제가 해결되었습니다. RoutesProxy#merge_script_names/ 스크립트 이름을 처리하지 못하던 엣지 케이스가 수정되어, 경로 접두사 아래 배포된 앱의 URL 생성이 올바르게 복원됩니다.
  • /rails/info/routes에 엔진 라우트 표시: 이제 /rails/info/routes 페이지에서 메인 애플리케이션 라우트와 함께 엔진 라우트도 표시됩니다. Rails.application.routes.routes를 사용하도록 변경되어 마운트된 엔진의 라우트 정보가 출력에 포함됩니다.

Active Storage 설정 유연성 강화

  • 분석기 및 변형 프로세서 설정 복원: Active Storage에서 분석기(analyzers) 및 변형 프로세서(variant processor)를 완전히 구성하거나 비활성화할 수 있는 기능이 복원되었습니다. config.active_storage.analyzers를 비우거나 사용자 정의 분석기를 제공할 수 있으며, config.active_storage.variant_processor = :disabled 설정을 통해 시작 시 경고를 제거할 수 있습니다.

시간 속성 및 Rate Limiting 정확성 향상

  • 시간 속성 더티 트래킹 오류 수정: 시간 전용 속성이 시간대 변환으로 인해 동일한 시간을 할당했음에도 불구하고 잘못 변경된 것으로 표시되던 문제가 수정되었습니다. config.active_record.use_fixed_date_for_time_attributes = true 설정을 통해 시간 값을 고정된 날짜(2000-01-01)로 정규화하여 잘못된 더티 트래킹을 방지합니다.
  • RateLimiting에 메서드 이름 지원: RateLimiting의 :by:with 옵션이 이제 콜러블(callable)뿐만 아니라 인스턴스 메서드 이름도 지원합니다. 이 변경 사항은 선언의 가독성을 높이고 공유 커스터마이징의 재사용성을 향상시킵니다.

Capybara 셀렉터 일반화

  • :rich_text_area Capybara 셀렉터 일반화: :rich_text_area Capybara 셀렉터가 <trix-editor> 요소 대신 role="textbox"contenteditable 속성을 찾도록 변경되었습니다. 이로써 다른 Action Text 지원 WYSIWYG 에디터를 더 쉽게 지원할 수 있게 되었습니다.

결론

이번 주 Rails 업데이트는 기존 기능의 안정성을 높이고 개발자 경험을 개선하는 데 중점을 둔 다양한 변경 사항을 포함하고 있습니다. 특히 Active Storage의 유연성 강화, 시간 속성 처리의 정확성 향상, 그리고 Rate Limiting 기능의 사용 편의성 증대는 Rails 애플리케이션 개발에 긍정적인 영향을 미칠 것으로 기대됩니다. 총 22명의 기여자가 참여한 이번 업데이트는 Rails 커뮤니티의 활발한 활동과 지속적인 발전을 잘 보여줍니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!