我在我的应用程序中使用devise invitable来邀请用户。如果用户存在于数据库中,我必须将他重定向到登录屏幕,否则如果他是新用户则重定向到注册屏幕。即使我邀请用户喜欢:
User.invite!(:email => "jonny@email.com", :name => "Jonny")
,数据被输入数据库,然后用户总是被重定向到登录屏幕。我已经写了以下内容来检查邀请控制器中的电子邮件:
def edit
if User.exists?(:email => params[:email])
redirect_to new_user_session_path
else
redirect_to new_user_registration_path
end
end
有些人可以帮助我处理这种情况。
答案 0 :(得分:1)
对于编辑,它应该通过id查找用户,而不是转到new_user_session_path。编辑方法应包含以下代码。
def edit
if User.exists?
@user = User.find(params[:id])
else
redirect_to new_user_registration_path
end
end