diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index 4b53ec62..07d5f7d3 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -8,8 +8,8 @@ class AccountsController < ApplicationController # 为了同步平台上未注册gitea的用户 def gitea_register - Users::SyncGiteaForm.new(sync_gitea_params).validate! user = User.find_by(login: sync_gitea_params[:login]) + Users::SyncGiteaForm.new(sync_gitea_params.merge(user: user)).validate! return render_error("该用户已同步协作平台") if user.gitea_token.present? && user.gitea_uid.present? result = create_gitea_user!(user, sync_gitea_params[:login], sync_gitea_params[:email], sync_gitea_params[:password]) diff --git a/app/forms/users/sync_gitea_form.rb b/app/forms/users/sync_gitea_form.rb index 19751bfd..f786b6c6 100644 --- a/app/forms/users/sync_gitea_form.rb +++ b/app/forms/users/sync_gitea_form.rb @@ -1,4 +1,4 @@ -class Users::SyncGiteaForm +class Users::SyncGiteaForm include ActiveModel::Model attr_accessor :login, :password, :email, :user @@ -8,7 +8,7 @@ class Users::SyncGiteaForm validate :check_user, :check_password def check_user - @user = User.find_by(login: login) + user = User.find_by(login: login) raise '用户不存在.' unless user.present? end