2010-08-08 51 views
5

我想將Rails插件色器件「reset_password_instructions設置爲delayed_job的 ..但我嘗試過很多辦法都失敗了。Rails的設計發送密碼重置郵件遲發性工作

我發現了一個功能password_controller#科瑞:

self.resource = resource_class.send_reset_password_instructions(params[resource_name]) 

我覺得用於發送電子郵件重置密碼的句子。

我想改變它,如:

self.resource = Delayed::Job.enqueue ApplicationController::MailingJob.new(:resource_class.send_reset_password_instructions, params[resource_name]) 

OK,它會返回語法錯誤......

幫助我..我不知道如何解決這個問題.. THX。

+0

嘛,有什麼語法錯誤? MailingJob應該是一個模型,所以你不應該把它放在一個控制器模塊內,如你的代碼所示。 – 2010-08-08 19:26:08

+0

http://stackoverflow.com/questions/4125564/rails-devise-delayed-job – Zabba 2011-03-15 08:18:47

回答

1

在控制檯上:

Devise::Mailer.delay.confirmation_instructions(self.resource) 
+0

如果你解釋這是什麼,這個答案會更有幫助。 – 2013-06-09 05:15:01

+0

請嘗試在軌道c。 self.resource是要發送確認電子郵件的對象用戶。 例如: user = User.first Devise :: Mailer.delay.confirmation_instructions(user) – akbarbin 2013-06-18 10:29:13