以前有人问过这个问题,但我找不到实际的答案:我如何允许我的用户通过他们注册的相同表单登录?这是方式的客户端请求/需求,我意识到这是很不理想......我也可以使用我的新用户表单登录吗
用户
class UsersController < ApplicationController
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
render :json => @user.to_json(:only => [:id])
else
render :json => @user.errors, :status => ""
end
end
end
会议
class SessionsController < ApplicationController
def create
user = User.find_by_email(params[:session][:email])
if user && user.authenticate(params[:session][:email])
sign_in user
render :json => @user.to_json(:only => [:id])
else
render :json => @user.errors, :status => ""
end
end
end
表
<%= form_for(@user, :html => { :class => "access"}) do |f| %>
<%= f.label :firstname, "Firstname" %>
<%= f.text_field :firstname, :placeholder => "Your firstname" %>
<%= f.label :surname, "Surname" %>
<%= f.text_field :surname, :placeholder => "Your surname" %>
<%= f.label :email, "Email Address" %>
<%= f.text_field :email, :placeholder => "Your email address" %>
<%= f.submit "Verify" %>
<% end %>
电子邮件被验证为唯一的,这可能是一个入口点吗?例如。如果电子邮件不是唯一的,请检查名称和电子邮件或其他内容。
我不知道如何去做这件事。
我不确定你想在这里做什么,因为登录和注册是两个不同的过程。如果用户尝试使用现有电子邮件注册,则可以让用户知道您已注册并提示输入密码。 –
是的,我知道他们不同,这就是为什么我卡住了。基本上没有密码,只需使用姓名和电子邮件登录即可。所以我想要的是,如果你不存在,你创建了,但如果你是你登录。 – Jamie