[Rails]ActiveDecorator gem

2118 단어 Railsgemtech

ActiveDecorator 소개


Decorator의gem을 실현하기 위해서입니다.
Rails의 프레젠테이션 레이어 역할 수행
프레젠테이션 원고층은view와 모델 중간에 위치하고 모델과 보기에서 쉽게 실현되는 디스플레이 논리/형식을 설명하는 역할을 한다.
비슷한gem에도 draper가 있어요.

가져오기


gemfile
gem 'active_decorator'
bundle install

사용법


rails 명령에 존재하는 모델의 경우 Decorator 생성
rails g decoratore user
그리고
app/decorators/user_decorator.rb
이러한 파일을 생성하여 View 지향 방법을 정의합니다.
module UserDecorator
  def full_name
    first_name + last_name
  end
end

뷰에서 호출


@user.full_name

view 이외의 방식으로 호출

ActiveDecorator::Decorator.instance.decorate()에서 매개 변수로 전달된 물건을 매개 변수 클래스 이름으로 장식하는 파일 (decord)
user = ActiveDecorator::Decorator.instance.decorate(User.find(1))
user.full_name

좋은 웹페이지 즐겨찾기