Ruby on rails Rails:邀请您注册成为Desive gem的好友
我正在Rails应用程序中使用Desive。我希望用户可以给他们的朋友一个链接,并通过该链接,他们可以注册,然后成为他们的邀请者的朋友 这是我想到的 首先,我给每个用户一个唯一的代码,如Ruby on rails Rails:邀请您注册成为Desive gem的好友,ruby-on-rails,devise,Ruby On Rails,Devise,我正在Rails应用程序中使用Desive。我希望用户可以给他们的朋友一个链接,并通过该链接,他们可以注册,然后成为他们的邀请者的朋友 这是我想到的 首先,我给每个用户一个唯一的代码,如dbgadf34t42a,人们可以访问url,如localhost/signup?invite_code=dbgadf34t42a。然后定制Deviate的注册控制器,使用此代码找到邀请者,然后创建友谊关系 代码应该是这样的 def create #Create user account, and t
dbgadf34t42a
,人们可以访问url,如localhost/signup?invite_code=dbgadf34t42a
。然后定制Deviate的注册控制器
,使用此代码找到邀请者,然后创建友谊
关系
代码应该是这样的
def create
#Create user account, and then create Friendship
invite_code = paramsp[:invite_code]
if user.save
inviter = User.find_by_invite_code(invite_code)
inviter.friendships.create(friend: user)
end
end
我在想
注册控制器
上没有找到好的资源,我可以将逻辑提取到另一个地方,存储邀请代码,然后继续创建友谊
模型吗 def after_sign_up
if params[:invite_code]
redirect_to new_friendship_path
else
# default_behavior
end
end
class RegistrationsController < Devise::RegistrationsController
def create
super
# Now write your customize code for friendship
end
end
这是通过电子邮件发出的邀请。但我不需要电子邮件。用户只需向另一个用户发送链接即可邀请他们。重要的是在用户注册时处理创建
友谊。
# app/config/routes.rb
devise_for :users, :controllers => {:registrations => "registrations"}