2012-06-14 48 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