【问题标题】:Pinterest invite system with Devise带有设计的 Pinterest 邀请系统
【发布时间】:2012-06-14 21:23:53
【问题描述】:

Devise 2.1 构建一个像 Pinterest 一样的简单邀请系统的最佳做法是什么?

换句话说,我希望允许新用户使用邀请表进行注册。然后,我想要:

  1. 首先,Devise 发送一封“感谢您加入 Fuu 等候名单”的电子邮件。
  2. 要完成,可能每 3 小时执行一次 cron 任务,Devise 发送一封“You've been Invited to Join Fuu”电子邮件。

我正在使用带有可确认模块的 Devise 2.1。我认为devise_invitable gem 在我的情况下没有用,因为受邀用户不应该能够邀请新用户。

【问题讨论】:

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


    【解决方案1】:

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

    rails beta request signup with social media sharing reward

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

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

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

    【讨论】:

    • 我明白了......但我的意思是,有没有一种干净的方法可以做到这一点?在我的应用程序中,待定用户(要求邀请)就像普通用户一样,具有confirmed_at 字段到nil。如果有一个干净的逐步操作方法,那就太棒了。
    【解决方案2】:

    让您入门的粗略想法: 您基本上想要的是用户在您的邀请系统上注册的商店。 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      • 2018-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多