Pinterest邀请系统与Devise

时间:2012-06-14 09:58:55

标签: ruby-on-rails web-services devise invite invitation

使用设计2.1 来构建像Pinterest一样的简单邀请系统的最佳做法是什么?

换句话说,我想允许新用户使用邀请表注册。然后,我想那样:

  1. 首先,Devise发送“感谢您加入Fuu等待名单”电子邮件。
  2. 要完成,也许每3个小时执行一次cron-task,Devise会发送“你被邀请加入Fuu ”电子邮件。
  3. 我正在使用具有可确认模块的Devise 2.1。我认为devise_invitable gem在我的案例中没用,因为受邀用户不应该邀请新用户。

2 个答案:

答案 0 :(得分:0)

我之前问了一个类似的问题,也许它对你有用:

rails beta request signup with social media sharing reward

基本上您要做的是将用户的电子邮件存储在“请求”模型中,这样您就可以获得一个表格,您可以在其中存储电子邮件并创建一个已处理的字段类型布尔值。这导致:

|email         |processed|
john@doe.com    true
alex@google.com false

然后在/ lib / tasks /中创建一个新的rake任务,循环真实所有请求并批量处理它们。这是一个粗略的想法,但它应该让你开始。

答案 1 :(得分: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