以前有人問過這個問題,但我找不到實際的答案:我如何允許我的用戶通過他們註冊的相同表單登錄?這是方式的客戶端請求/需求,我意識到這是很不理想......我也可以使用我的新用戶表單登錄嗎
用戶
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