Ruby_Rails

before_action 의미

고수트 2019. 5. 23. 08:56
반응형

루비 컨트롤러 상단에

before_action :set_post, only: [:show, :edit, :update, :destroy] 

과 같이 선언된 것을 볼 수 있다.

befor_action 뒤에 위치하는 것은 실행 될 메소드 명이다.

여기선 set_post 메소드이며 set_post 가 아래와 같다면

private

     def set_post

        @post = post.find(params[:id])

    end

set_post 액션이 실행되어 파라미터로 넘겨받은 id 값을 이용하여 쿼리하여  only 뒤에 나오는 show, edit, update, destroy 액션이 실행되기전에 반드시 

@post 인스턴스 변수에 post 객체를 할당하라는 말이다.

즉, befor action 은 특정 메소드가 실행되기전 수행되어야 할 작업을 의미한다.

반응형