From 7504d7b0c4074a5ca3629a5ef6ee898573a6694e Mon Sep 17 00:00:00 2001 From: cxt <853663049@qq.com> Date: Thu, 26 Dec 2019 17:14:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E4=BD=93=E7=B3=BB=E7=9A=84?= =?UTF-8?q?=E8=B6=85=E7=AE=A1=E9=A1=B5=E9=9D=A2=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admins/disciplines_controller.rb | 10 +++++++++- .../admins/sub_disciplines_controller.rb | 7 ++++++- app/models/tag_discipline.rb | 4 ++++ .../admins/sub_disciplines/shared/_list.html.erb | 6 +++--- .../admins/tag_disciplines/shared/_list.html.erb | 15 ++++++++++++--- 5 files changed, 34 insertions(+), 8 deletions(-) diff --git a/app/controllers/admins/disciplines_controller.rb b/app/controllers/admins/disciplines_controller.rb index 9094eca2c..7681bea42 100644 --- a/app/controllers/admins/disciplines_controller.rb +++ b/app/controllers/admins/disciplines_controller.rb @@ -20,7 +20,15 @@ class Admins::DisciplinesController < Admins::BaseController name = params[:discipline][:name].to_s.strip current_discipline.update_attributes!(name: name) else - current_discipline.update_attributes!(setting_params) + ActiveRecord::Base.transaction do + current_discipline.update_attributes!(setting_params) + current_discipline.sub_disciplines.each do |sub| + sub.tag_disciplines.each do |tag| + tag.update_attributes!(setting_params) + end + sub.update_attributes!(setting_params) + end + end end @disciplines = Discipline.all end diff --git a/app/controllers/admins/sub_disciplines_controller.rb b/app/controllers/admins/sub_disciplines_controller.rb index 64b6f1292..25c268ca6 100644 --- a/app/controllers/admins/sub_disciplines_controller.rb +++ b/app/controllers/admins/sub_disciplines_controller.rb @@ -21,7 +21,12 @@ class Admins::SubDisciplinesController < Admins::BaseController name = params[:sub_discipline][:name].to_s.strip current_sub_discipline.update_attributes!(name: name) else - current_sub_discipline.update_attributes!(setting_params) + ActiveRecord::Base.transaction do + current_sub_discipline.update_attributes!(setting_params) + current_sub_discipline.tag_disciplines.each do |tag| + tag.update_attributes!(setting_params) + end + end end @sub_disciplines = current_sub_discipline.discipline&.sub_disciplines end diff --git a/app/models/tag_discipline.rb b/app/models/tag_discipline.rb index 2f279aafd..07faca5c3 100644 --- a/app/models/tag_discipline.rb +++ b/app/models/tag_discipline.rb @@ -1,3 +1,7 @@ class TagDiscipline < ApplicationRecord belongs_to :sub_discipline + + def discipline + sub_discipline&.discipline + end end diff --git a/app/views/admins/sub_disciplines/shared/_list.html.erb b/app/views/admins/sub_disciplines/shared/_list.html.erb index 1ffeeb090..a56c856f2 100644 --- a/app/views/admins/sub_disciplines/shared/_list.html.erb +++ b/app/views/admins/sub_disciplines/shared/_list.html.erb @@ -17,9 +17,9 @@