認証にdeviseを使用しています。電子メールが既に存在する場合は、ユーザーをログインさせます。電子メールが存在しない場合は、それらの資格情報を使用して新しいユーザーを作成します。送信ボタンは 1 つだけで、電子メールとパスワードのフィールドは 1 つだけにする必要があります。
質問する
83 次
2 に答える
1
それはあなたのコントローラーでその条件を書く必要があるために可能です
例えば
def create
@user = @user.find_or_create_by(params[:user])
....
....
end
また
def create
@user = User.find(params[:user])
unless @user.present?
@user = User.new(params[:user])
if @user.valid?
...
else
...
end
end
end
または # デバイスの場合 - 登録コントローラー内
def create
@user = User.find_by_email(params[:user][:email])
if @user.present?
sign_in(resource_name, resource)
else
if resource.save
if resource.active_for_authentication?
...
...
else
...
...
end
else
...
...
end
end
end
于 2012-10-12T08:20:38.073 に答える