使用Devise 2.1构建像 Pinterest 一样的简单邀请系统的最佳实践是什么?
换句话说,我想允许新用户使用邀请表进行注册。然后,我想这样:
- 首先,Devise 发送一封“感谢您加入 Fuu 等候名单”的电子邮件。
- 为了完成,也许每 3 小时有一个 cron 任务,Devise 发送一封“你已被邀请加入 Fuu ”的电子邮件。
我正在使用带有可确认模块的设计 2.1。我认为devise_invitable
gem 在我的情况下没有用,因为受邀用户不应该能够邀请新用户。
使用Devise 2.1构建像 Pinterest 一样的简单邀请系统的最佳实践是什么?
换句话说,我想允许新用户使用邀请表进行注册。然后,我想这样:
我正在使用带有可确认模块的设计 2.1。我认为devise_invitable
gem 在我的情况下没有用,因为受邀用户不应该能够邀请新用户。
我之前问过一个类似的问题,也许对你有用:
基本上,您要做的是将用户的电子邮件存储在“请求”模型中,这样您就可以得到一个表,您可以在其中存储电子邮件并创建一个字段类型为布尔值并处理。这导致:
|email |processed|
john@doe.com true
alex@google.com false
然后在 /lib/tasks/ 中创建一个新的 rake 任务,它循环真实的所有请求并分批处理它们。这是一个粗略的想法,但它应该让你开始。
让您入门的粗略想法:您基本上想要的是用户在您的邀请系统上注册的商店。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