2016-07-16 19 views
0

確認郵件是在創建用戶時自動發送的。但是我需要在完成幾個步驟後手動通過代碼發送郵件。devise_token_auth - skip_confirmation_notification!不起作用

我無法阻止確認郵件的發送。

用戶模型

class User < ActiveRecord::Base 

    include DeviseTokenAuth::Concerns::User 

    devise :database_authenticatable, :registerable, 
    :recoverable, :rememberable, :trackable, :validatable, 
    :confirmable 

    before_create :skip_confirmation_notification! 

我使用devise_token_auth葡萄API的軌道。

說明:如果我嘗試使用skip_confirmation!它完美的工作沒有任何缺陷。但我不需要這種功能,因爲我只想通過發送給他們郵件的確認鏈接來確認用戶。

回答

0

首先,您必須跳過發送確認郵件,方法是在控制器中執行此操作。把用戶在此之前代碼保存

resource.skip_confirmation_notification! 
resource.save 

所以現在確認郵件將不會發送比你可以把條件,你想比當你條件爲真。您可以再次發送確認郵件,通過下面的代碼..

resource.send_confirmation_instructions 

我親自測試它..它的偉大工程..希望它會幫助你

+0

skip_confirmation!自動確認用戶。但我只想通過郵件鏈接確認用戶。 – arparthasarathi

+0

非常感謝您寶貴的時間夥伴,遺憾的是我錯過了一些重要的問題。我用葡萄使用devise_token_auth。所以如果我可以在模型中處理它,會更好,因爲我的應用中沒有控制器。我堅持這一點。正如我所說,如果我使用skip_confirmation !,它完美的作品 – arparthasarathi

+0

我從來沒有試過,我需要先研究它.. :) – Vishal