복붙노트

[RUBY-ON-RAILS] 레일 : around_ * 콜백

RUBY-ON-RAILS

레일 : around_ * 콜백

나는 http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html에서 문서를 읽어 가지고 있지만 around_이 * 콜백이 before_ * 및 after_ * 관련 트리거 될 때 이해가 안 돼요.

어떤 도움을 많이 감사합니다.

감사.

해결법

  1. ==============================

    1.around_ * 콜백는 작업 자체를 호출 할 때 다음, 당신은 다음, 그것을 얻을 실행을 계속 작업하기 전에 호출됩니다. 의는 왜이 주변라고하는 것이

    around_ * 콜백는 작업 자체를 호출 할 때 다음, 당신은 다음, 그것을 얻을 실행을 계속 작업하기 전에 호출됩니다. 의는 왜이 주변라고하는 것이

    순서는 다음과 같이 진행됩니다 전에, 주위, 후.

    따라서, 일반적인 around_save는 다음과 같이 보일 것이다 :

    def around_save
       #do something...
       yield #saves
       #do something else...
    end
    
  2. ==============================

    2.around_ * 콜백 작업 주위와 before_ * 및 after_ * 액션 내에서 호출된다. 예를 들면 :

    around_ * 콜백 작업 주위와 before_ * 및 after_ * 액션 내에서 호출된다. 예를 들면 :

    class User
      def before_save
        puts 'before save'
      end
    
      def after_save
        puts 'after_save'
      end
    
      def around_save
        puts 'in around save'
        yield # User saved
        puts 'out around save'
      end
    end
    
    User.save
      before save
      in around save
      out around save
      after_save
    => true
    
  3. from https://stackoverflow.com/questions/4998553/rails-around-callbacks by cc-by-sa and MIT license