diff --git a/app/controllers/forks_controller.rb b/app/controllers/forks_controller.rb index 141ecf13b..a27f6668d 100644 --- a/app/controllers/forks_controller.rb +++ b/app/controllers/forks_controller.rb @@ -12,9 +12,9 @@ class ForksController < ApplicationController def authenticate_project! if current_user&.id == @project.user_id render_result(-1, "自己不能fork自己的项目") - elsif ForkUser.exists?(fork_project_id: @project.id, user_id: current_user.id) - fork = ForkUser.find_by(fork_project_id: @project.id, user_id: current_user.id) - render json: { status: -1, identifier: fork.fork_project&.identifier, message: "fork失败,你已拥有了这个项目" } + elsif @project.fork_users.where(user_id: current_user.id).present? + fork = @project.fork_users.find_by(user_id: current_user.id) + render json: { status: 0, id: fork.fork_project_id, identifier: fork.fork_project&.identifier, message: "fork失败,你已拥有了这个项目 #{fork.fork_project&.identifier}" } return elsif Project.exists?(user_id: current_user.id, identifier: @project.identifier) render_result(0, "fork失败,你已拥有了这个项目")