6

Rails 4 및 Devise로 활성 작업을 설정하려고합니다. 나는 어떤 자습서라도 열어 둔다. (내 검색을 통해 찾을 수 없다.)Rails 4 및 Devise가있는 활성 작업

내가 알고있는 것은 Devise Async gem이지만 거기에는 Active Job이 포함되어 있지 않다. 즉, 내가 개발 한 신선한 this gem을 발견했지만, 나는 uninitialized constant Devise::Async::Backend::Base (NameError) 오류가 발생했습니다. (그것을 구현하는 데 나는 바람을 피울 수있다.)

모든 의견을 환영합니다. 새로운 컨트롤러 메서드를 만들 필요가 없기를 바라고 있습니다.

답변

13

당신은 (일반적으로 User를) 원하는 모델에 다음 코드를 포함 할 수 있습니다

def send_devise_notification(notification, *args) 
    devise_mailer.send(notification, self, *args).deliver_later 
end 

당신은 자세한 내용은 다음 페이지에서 좀 걸릴 수 있습니다 :이 나타납니다 http://www.sitepoint.com/devise-authentication-in-depth/

+1

공식적으로 추천하는 기술은 지금 Devise의 README에 있습니다 : https://github.com/plataformatec/devise#activejob-integration – stevo

+0

@stevo! – mrstif

+1

흠 ... 반갑습니다. https://github.com/plataformatec/devise/issues/3550#issuecomment-94248927 (및 메소드 주석은 https://github.com/plataformatec/devise/blob/2f0002a449a8b9616d51127dc6247bfd8414523d/lib/devise/models/authenticatable). rb # L123), 사용자 생성시 기본 제공 장치 알림을 사용하는 경우 이보다 더 복잡 할 수 있습니다. 'deliver_later'는 아마도 이전에 저장 한 레코드에만 사용할 수 있고 새로운 레코드에는 사용할 수 없습니다. – stevo