0

これは以前にある程度尋ねられましたが、実際の答えを見つけることができませんでした: ユーザーがサインアップしたのと同じフォームを介してログインできるようにするにはどうすればよいですか? ところで、これはクライアントの要求/要求ですが、これは理想とはかけ離れていることを認識しています...

ユーザー

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 %>

メールは一意であると検証されますが、それがエントリ ポイントになる可能性はありますか? 例えば。電子メールが一意でない場合は、名前と電子メールなどを確認してください。

どうすればいいのかわかりません。

4

1 に答える 1

0

私の提案は、のような別のコントローラーを作成することですAccessController。ログインと登録の両方を意味する名前を使用する必要があります。私が考えたのはアクセスだけでした。そのコントローラーは、ログイン資格情報をチェックして、ログインまたは登録できる必要があります。

于 2012-09-26T18:03:29.347 に答える