2012-06-14 68 views
0

設計2.1什麼是最佳做法建立一個簡單的邀請系統就像Pinterest?Pinterest邀請系統與設計

換句話說,我想允許新用戶使用邀請表進行註冊。然後,我想的是:

  1. 首先,設計發送「感謝您加入FUU那批人」的電子郵件。
  2. 要完成,也許每3小時執行一次cron任務,請發送「您已被邀請加入Fuu」電子郵件。

我使用Devise 2.1與可確認的模塊。我認爲devise_invitable寶石在我的情況下沒有用處,因爲受邀用戶不應該能夠邀請新用戶。

回答

0

我問了一個kindoff類似的問題之前,也許它沒有任何用處的你:

rails beta request signup with social media sharing reward

基本上你想要做什麼是存儲用戶的電子郵件中這樣你就一個「請求」模式獲取一張表格,您可以在其中存儲電子郵件並創建一個處理過的字段類型布爾值。結果如下:

|email   |processed| 
[email protected] true 
[email protected] false 

然後在/ lib/tasks /創建一個新的rake任務,循環執行所有請求並批量處理它們。這是粗略的想法,但它應該讓你開始。

+0

我看到...但我的意思是,有一個乾淨的方式來做到這一點?在我的應用程序中,正在等待的用戶(請求邀請)就像普通用戶一樣,「confir_at」字段爲「nil」。如果有一個清晰的指導步驟,這將是非常棒的。 – Doug

0

讓你開始的概念: 你基本上想要的就是存儲用戶註冊的真實你的邀請系統。 Stackoverflow不是爲了讓你在正確的方向上完成訓練而完成的);這是複雜的完全寫出來的。

路線:

get '/signup/:code' => "devise/registrations#new" 

控制器:

params[:code] 

unless params[:code] 
    .. check if the code is correct 
    .. render your form here 
else 
    .. you need an invitation code to join our site 
end 

型號

on_create :set_processed 
def set_processed 
    .. set processed to true 
end