新增:项目搜索标签删除逻辑
This commit is contained in:
parent
08f89fd113
commit
7a6d549fa0
|
@ -24,6 +24,21 @@ class Api::V1::ProjectTopicsController < Api::V1::BaseController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def destroy
|
||||||
|
ActiveRecord::Base.transaction do
|
||||||
|
@project = Project.find_by_id(create_params[:project_id])
|
||||||
|
return render_not_found unless @project.present?
|
||||||
|
|
||||||
|
@project_topic = ProjectTopic.find_by_id(params[:id])
|
||||||
|
@project_topic_ralate = @project_topic.project_topic_ralates.find_by(project_id: @project.id)
|
||||||
|
if @project_topic_ralate.destroy!
|
||||||
|
render_ok
|
||||||
|
else
|
||||||
|
render_error("项目取消关联搜索标签失败.")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
def create_params
|
def create_params
|
||||||
params.permit(:project_id, :name)
|
params.permit(:project_id, :name)
|
||||||
|
|
|
@ -130,6 +130,7 @@ class ProjectsController < ApplicationController
|
||||||
# 临时特殊处理修改website、lesson_url操作方法
|
# 临时特殊处理修改website、lesson_url操作方法
|
||||||
if project_params.has_key?("website")
|
if project_params.has_key?("website")
|
||||||
if params[:project_topic_names].present? && params[:project_topic_names].is_a?(Array)
|
if params[:project_topic_names].present? && params[:project_topic_names].is_a?(Array)
|
||||||
|
ProjectTopicRalate.where(project: @project).destroy_all
|
||||||
params[:project_topic_names].each do |name|
|
params[:project_topic_names].each do |name|
|
||||||
project_topic = ProjectTopic.find_or_create_by!(name: name.downcase)
|
project_topic = ProjectTopic.find_or_create_by!(name: name.downcase)
|
||||||
project_topic.project_topic_ralates.find_or_create_by!(project: @project)
|
project_topic.project_topic_ralates.find_or_create_by!(project: @project)
|
||||||
|
|
|
@ -20,7 +20,7 @@ defaults format: :json do
|
||||||
|
|
||||||
scope ':repo' do
|
scope ':repo' do
|
||||||
# projects
|
# projects
|
||||||
resource :projects, path: '/', only: [:show, :update, :edit, :destroy] do
|
resource :projects, path: '/', only: [:show, :update, :edit] do
|
||||||
collection do
|
collection do
|
||||||
get :compare
|
get :compare
|
||||||
get :blame
|
get :blame
|
||||||
|
@ -97,7 +97,7 @@ defaults format: :json do
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :projects, only: [:index]
|
resources :projects, only: [:index]
|
||||||
resources :project_topics, only: [:index, :create]
|
resources :project_topics, only: [:index, :create, :destroy]
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue