2016-11-16 66 views
0
def create 
    if User.invite!(user_params) 
     flash[:success] = t('flashes.users.create_success') 
    else 
     flash[:error] = t('flashes.users.create_error') 
    end 
    redirect_to company_path(id: company.slug) 
end 

User.invite!將創建用戶,然後發送設置密碼的邀請。我只希望它發送一個邀請來設置密碼,然後只有在用戶設置了密碼時才堅持用戶。使用設計invitable。如何在用戶設置密碼後才創建用戶

+0

您可以定期運行rake任務以刪除不接受邀請的用戶 – gates

回答

1

我不會搞砸這樣的設計的可執行的實現。

也許可能使用枚舉向用戶添加狀態列,以便您可以隔離尚未接受其邀請的用戶,並且其中一位評論者表示稍後會刪除陳舊的用戶。

enum status: {invited: 0, accepted: 1}

那麼你就可以做到以下幾點:

User.invite!(status: "invited")

你將不得不設置「接受」狀態,當用戶接受掛接到創業板提供了回調(見https://github.com/scambra/devise_invitable )。