2017-04-21 8 views
0

model/user.rb 나는 다음과 같은 덮어 쓰기가 :Usind Sidekiq 고안 등록 확인 이메일에서

누군가가 등록하지만,이 오류가 발생 할 때 호출됩니다
def send_on_create_confirmation_instructions 
    Devise::Mailer.delay.confirmation_instructions(self) 
    end 

:

ArgumentError: wrong number of arguments (given 1, expected 2..3) 

을이 마지막 줄이있는 동안 스택 추적의 :

lib/ruby/gems/2.3.0/gems/devise-4.0.1/app/mailers/devise/mailer.rb:5:in `confirmation_instructions' 

위의 방법입니다 :

def confirmation_instructions(record, token, opts={}) 
    @token = token 
    devise_mail(record, :confirmation_instructions, opts) 
end 

분명히 나는 ​​토큰이 아닌 레코드를 전달하고 있습니다. 나는 그것을 얻기 위해서 어디에서 그것을 얻을 수 있는지를 알 수 없다. 내가 뭘 놓치고 있니?

답변

1

confimation_instruction으로 직접 전화하십니까? 다음보십시오 : 그것은 User.find(1).send_confirmation_instructions

https://github.com/plataformatec/devise/blob/bacd9d244cdf223b1fe080fa01b8c5bfc0b7a181/lib/devise/models/confirmable.rb#L41

약 토큰을 걱정합니다.

+0

감사합니다. 나는 그것을 직접 부른 누군가에게서 본 모범을 보았다. 나는 당신이 거기를 보았는지 어떻게 알았는지 궁금합니다. – Linus

+1

'confiramtion_instruction'을 사용하는 지점을 찾고 있었고이를 사용하여 파일을 찾았습니다. 그리고이 예제를 사용하여 확인한 후에 만났습니다. – kunashir

+0

통찰력에 감사드립니다. 정말 귀중합니다. – Linus