Rails 5.2의 쓰레기 기능: Active Storage

2019. 5. 4. 16:38·Dev/Ruby
반응형

Ruby on Rails 5.2에서 Active Storage라는 새로운 기능이 추가되었습니다. 기존 Paperclip등의 Gem에서 수행하던 파일 저장 기능이 레일즈 자체에서 구현되었죠. GCS, S3, ASS등 다양한 provider에 연결해서 파일을 저장할 수 있다는 점도 확실히 매력적입니다.

저 역시 마인리스트의 Rails 버전을 5.2로 올리면서 Paperclip Gem이 Active Storage가 나온다면서 deprecation할 예정이라고 하길래, Paperclip에서 Active Storage로 마이그레이션을 시도했었습니다. 파일 이전 스크립트까지 다 짜고 실제 이전까지 테스트해봤지만, 싹 다 롤백하고 다시 Paperclip으로 돌아왔습니다. 이유가 무엇일까요?

치명적인 버그

예를 들어 512x512짜리의 2MB 이하의 PNG 이미지 파일을 업로드한다고 가정해봅시다. 정상적이라면 업로드 후 임시 폴더에 저장된 이미지 파일의 파일 검증이 모두 끝난 후 스토리지에 업로드되는 게 당연한데, Active Storage는 모델의 Validation이 끝나기도 전에 먼저 사진을 업로드해버립니다.. 즉 서버측 이미지 검증이 제대로 이뤄질 수 없는 것이죠.

33303번 이슈에서 해당 버그는 수정되었지만, breaking change라서 6.0이 나오기까지 기다려야 합니다.

많은 사람들이 5.2로 해당 버그 픽스의 백포팅을 원했지만, 현재까지 아무 진척이 없는 걸 봐서는 6.0이나 기다려야겠습니다. 그런데 5.2에서 Active Storage 쓰는 사람이 있기나 할까요?

 

참고 자료

https://github.com/rails/rails/issues/32449

https://github.com/rails/rails/pull/33303

 

반응형
'Dev/Ruby' 카테고리의 다른 글
  • 루비 이스케이핑 함수 비교
  • 은는이가(ununiga) gem, 레일즈에서의 i18n 조사 처리
ryush00
ryush00
IT 관련 글이 올라와요
    반응형
  • ryush00
    말똥이의 블로그
    ryush00
  • 전체
    오늘
    어제
    • 모든 글 (225)
      • 블로그 (13)
        • 공지 사항 (5)
        • 블로그 운영 팁 (6)
        • 기타 (2)
      • IT (69)
        • 정보글 (51)
        • 리뷰 (8)
        • 심층 분석 (5)
        • NAS (5)
      • Game (44)
        • Minecraft (40)
        • 게임 정보글 (4)
      • Dev (53)
        • PHP (1)
        • HTML & CSS (0)
        • Ruby (3)
        • DB (2)
        • 클라우드 (2)
        • 행사 (0)
        • 삽질 방지 (20)
      • 마인리스트 (10)
      • 이모저모 (21)
        • 나의 생각 (7)
        • 나의 일상 (4)
        • 유용한 것들 (3)
        • 노하우 (6)
      • 휴지통 (0)
      • 안전 (0)
        • 베리어프리 (0)
        • 교통 안전 (0)
  • 블로그 메뉴

    • 전체글
    • 공지사항
  • 링크

    • 마인리스트
  • 공지사항

    • 저작권 안내
  • 인기 글

  • 태그

    php
    apk
    CloudFlare
    bukkit
    클라우드플레어
    ruby
    시놀로지
    howto
    구글 지도 반출
    맥
    애플
    토렌트
    구글 지도
    문제해결
    아이폰
    해킹
    블로그
    티스토리
    티스토리 초대장
    java
    마인리스트
    마인크래프트
    Ruby on Rails
    spigot
    안드로이드
    NAS
    오류
    삽질
    개발
    MySQL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ryush00
Rails 5.2의 쓰레기 기능: Active Storage
상단으로

티스토리툴바