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)
  • 블로그 메뉴

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

    • 마인리스트
  • 공지사항

    • 저작권 안내
  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바