'변경 사항'에 해당되는 글 1건
- 2014.10.23 [Ruby on Rails] 4.1 Release Notes
루비 온 레일즈 4.1 릴리즈 노트
주목할 만한 것들
Spring의 Application Preloader
새로 생긴 config/secrets.yml 파일
액션팩(ActionView와 ActionController 모듈을 합쳐 부르는 것) 의 변수들
Action Mailer 미리보기
1. Rails 4.1 버전으로 업그레이드 하기
- http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-4-0-to-rails-4-1
2.2 config/secrets.yml
- Rails 4.1 버전은 이전에 없던 secrets.yml 파일을 생성하게 된다.
이 파일은 기본적으로 application의 secret_key_base를 포함하는데 이것은 외부 API를 위한 액세스 키 같은 비밀 data를 저장하는데 쓰일 수 있다.
- secrets.yml에 추가된 비밀 데이터들은 Rails.application.secrets를 통해 접근이 가능하다.
- 예를 들면
"키 : 키값" 이 secrets.yml 파일에 있을때
development 환경에서 "Rails.application.secrets.키" 는 키값을 리턴한다.
2.3 Action Pack 변수
- 주로 스마트폰, 타블렛, pc 브라우저에 따라 다른 HTML/JSON/XML 템플릿들을 렌더링 할때 쉽게 할 수 있게 해준다.
2.4 Action Mailer Previews
- 특별한 URL을 통해 email을 시각적으로 볼 수 있게 해주는 방법을 제공한다.
- ActionMailer 패키지
2.5 Active Record enums
- http://api.rubyonrails.org/v4.1.0/classes/ActiveRecord/Enum.html
2.6 Message Verifiers
- Message Verifiers로 서명된 메세지를 생성하고 확인할 수 있다. 민감한 데이터를 안전하게 전송할 때 유용하다.
- Rails.application.message_verifier 메소드는 secret_key_base 와 message verifier 이름으로 부터 키를 얻어 메세지에 서명을 하는 message verifier를 생성한다.
2.7 Module@concerning
- mix-in으로 생기는 단점을 제거함으로써 자연스럽고 low-ceremony적인 방법으로 하나의 클래스의 역할을 분리해서 관리 할 수 있다. 1
- 링크 : http://api.rubyonrails.org/v4.1.0/classes/Module/Concerning.html
2.8 CSRF protection from remote <script> tags
- Cross site request forgery(CSRF) protection 은 GET 요청을 통한 자바스크립트 응답도 처리할 수 있다. 즉, 제 3자의 사이트에서 당신의 자바스크립트 URL을 참조하는 것과 중요한 데이터를 추출해내기 위해 자바스크립트를 구동하는것을 예방해 준다.
- 자바 스크립트 url이 xhr을 이용하지 않는 이상 CSRF protection에 막혀 실패할 것이다. 그러므로 XmlHttpRequests 를 명시적으로 사용하도록 post:create, format: : js 대신 xhr : post, :create, format: :js 를 사용하라.
3 Railties (rails 네임스페이스 안의 class이다. Object 클래스를 상속받음)
3.1 제거된 것들
- Removed
update:application_controller
rake task
- Removed deprecated Rails.application.railties.engines
- Removed deprecated threadsafe! from Rails Config
- Removed deprecated ActiveRecord::Generators::ActiveModel#update_attributes
3.2 주목할 만한 변경사항
- Spring application preloader 가 기본적으로 새 어플리케이션에 설치된다.
- 그러나 이것은 develop group의 Gemfile을 사용하므로 production 모드에서는 설치가 안될 것이다.
- BACKTRACE 환경 변수가 사라지는 현상
- 환경 설정에 노출된 MiddlewareStack#unshift
- [term]low-ceremony 참고 참고 [본문으로]