2013-03-23 61 views
0

我正在實現用戶註冊的設計,但一些自定義,它在下面。設計在軌道上的紅寶石的定製

  • 當用戶與用戶名,電子郵件地址和密碼註冊,電子郵件會去用戶
  • 在電子郵件用戶將得到被要求完成註冊過程中一個祕密代碼。
  • 當用戶點擊「轉到應用程序」按鈕,它會將用戶重定向到應用程序,這裏用戶必須使用該密碼來完成註冊過程。
  • 一旦用戶完成註冊過程,用戶和該密碼之間就會有一對一的關係。

我在互聯網上搜索了很多,但無法找到答案。

問題:我不知道如何在rails中創建密碼,然後將其發送給用戶郵件,然後將其與用戶獲得的代碼進行匹配。

注意:在我的應用程序中,密碼和密碼是兩個不同的東西。

回答

0

Devise有一個名爲Confirmable的內部模塊來完成這個工作。

爲了使用它,你需要做的是:

  • 確保您的色器件模型:confirmable:registerable

    class User 
        # ... 
        devise :confirmable, :registerable ... 
        # ... 
    end 
    
  • 運行創建confirmation_token領域

    遷移
    class AddConfirmableToUsers < ActiveRecord::Migration 
        def self.up 
        change_table(:users) do |t| 
         t.confirmable 
        end 
        add_index :users, :confirmation_token, :unique => true 
        end 
    
        def self.down 
        remove_column :users, :confirmable 
        end 
    end 
    

如果您已經有用戶,並且不希望他們遵循此確認流程,那麼您需要確認他們。你可以這樣做

User.update_all ["confirmed_at = ?", Time.now] 

在控制檯上。

更多的參考資料:Confirable ModuleAdding confirmable to Users in Devise

+0

感謝@Joao牛! – 2013-03-24 07:09:20

+0

如果我的回答對你有幫助,請考慮接受! ;) 謝謝! – 2013-03-24 11:53:34