저자 : 크리스토퍼 리고

원문 : https://www.engineyard.com/blog/rails-encrypted-credentials-on-rails-5.2

기고일 : 2017년 12월 15일

레일스 5.1에서는 암호화 보안키(encrypted secrets)를 도입하여 secrets.ymlsecrets.yml.enc 두 개의 파일에 두도록 했다. 이것은 일반 보안키를 사용해야 할지 암호화 보안키를 사용할지 혼란을 초래하기도 한다.

그래서 레일스 5.2에서는 이 두개의 보안키를 하나의 암호화 인증서로 대체해 버렸다. 따라서 일반 인증서는 사용할 수 없도록 했다. 즉, credentials.yml.enc 파일 하나만 존재 한다.

레일스 5.2부터 도입된 액티브스토리(Active Storage)는 ”아마존 S3″, “구글 클라우드 스토리지”, ”마이크로소프트 Azure 스토리지”와 같은 클라우드 스토리지 서비스로 파일을 업로드 후 액티브레코드 객체에 첨부(attach)할 수 있도록 해 준다.

Carrierwave 또는 Paperclip 같은 기존의 젬과 비교해 볼 때 기능이 매우 제한되어 있으나 레일스 방식으로 손쉽게 파일 업로드 기능을 손쉽게 구현할 수 있다는 장점이 있다. 아마 향후에 기능 개선을 통해서 더욱 기능이 확장될 것으로 기대해 본다.

이 글에서는 처음 액티브스토리지는 접하는 레일스 초급자를 대상으로 그 사용법을 알아 볼 것이다.

  • 루비 버전 : 2.5.0
  • 레일스 버전 : 5.2.0.beta2

일반적으로 유효한 데이터만 입력하기 위한 조치로 모델 클래스에 특정 필드 속성에 대한 유효성 검증을 지정한다.

class Post < ActiveRecord
  validates :title, presence: true
end

title 속성 항목에 대해서 필수항목으로 유효성 검증을 지정했다.

이후 title 데이터 입력없이 저장할 경우 아래와 같은 유효성 오류가 폼 뷰(view)에 표시된다.

http://bit.ly/summernote-rails-for-fileupload-1 on Jun. 6, 2015, in Korean

http://bit.ly/summernote-rails-for-fileupload_2 on Jan. 2, 2016, in Korean

In my blog, the posts on summernote-rails gem are always the most frequent in daily visit statistics.

About 22 months were passed since last post on summernote. Official published version of summernote-rails is 0.8.3, as of Nov. 13, 2017.