diff --git a/app/controllers/admins/disciplines_controller.rb b/app/controllers/admins/disciplines_controller.rb index 598ab7386..b7b3152fb 100644 --- a/app/controllers/admins/disciplines_controller.rb +++ b/app/controllers/admins/disciplines_controller.rb @@ -7,7 +7,7 @@ class Admins::DisciplinesController < Admins::BaseController def create name = params[:name].to_s.strip return render_error('名称重复') if Discipline.where(name: name).exists? - Discipline.create!(name: name, position: Discipline.all.pluck(:position).max + 1) + Discipline.create!(name: name, position: Discipline.all.pluck(:position).max.to_i + 1) render_ok end @@ -46,7 +46,7 @@ class Admins::DisciplinesController < Admins::BaseController end def adjust_position - max_position = Discipline.all.pluck(:position).max + max_position = Discipline.all.pluck(:position).max.to_i opr = params[:opr] || "down" if (params[:opr] == "up" && current_discipline.position == 1) || (params[:opr] == "down" && current_discipline.position == max_position) @message = "超出范围" diff --git a/app/controllers/admins/sub_disciplines_controller.rb b/app/controllers/admins/sub_disciplines_controller.rb index a60f497e5..61f644a91 100644 --- a/app/controllers/admins/sub_disciplines_controller.rb +++ b/app/controllers/admins/sub_disciplines_controller.rb @@ -9,7 +9,7 @@ class Admins::SubDisciplinesController < Admins::BaseController name = params[:name].to_s.strip return render_error('名称不能为空') if name.blank? return render_error('名称重复') if current_discipline.sub_disciplines.where(name: name).exists? - SubDiscipline.create!(name: name, discipline_id: current_discipline.id, position: current_discipline.sub_disciplines.pluck(:position).max + 1) + SubDiscipline.create!(name: name, discipline_id: current_discipline.id, position: current_discipline.sub_disciplines.pluck(:position).max.to_i + 1) render_ok end @@ -47,7 +47,7 @@ class Admins::SubDisciplinesController < Admins::BaseController def adjust_position discipline = current_sub_discipline.discipline - max_position = discipline.sub_disciplines.pluck(:position).max + max_position = discipline.sub_disciplines.pluck(:position).max.to_i opr = params[:opr] || "down" if (params[:opr] == "up" && current_sub_discipline.position == 1) || (params[:opr] == "down" && current_sub_discipline.position == max_position) @message = "超出范围" diff --git a/app/controllers/admins/tag_disciplines_controller.rb b/app/controllers/admins/tag_disciplines_controller.rb index c10f63884..c8e14dbd8 100644 --- a/app/controllers/admins/tag_disciplines_controller.rb +++ b/app/controllers/admins/tag_disciplines_controller.rb @@ -9,7 +9,7 @@ class Admins::TagDisciplinesController < Admins::BaseController name = params[:name].to_s.strip return render_error('名称重复') if current_sub_discipline.tag_disciplines.where(name: name).exists? TagDiscipline.create!(name: name, sub_discipline_id: current_sub_discipline.id, user_id: current_user.id, - position: current_sub_discipline.tag_disciplines.pluck(:position).max + 1) + position: current_sub_discipline.tag_disciplines.pluck(:position).max.to_i + 1) render_ok end @@ -42,7 +42,7 @@ class Admins::TagDisciplinesController < Admins::BaseController def adjust_position sub_discipline = current_tag_discipline.sub_discipline - max_position = sub_discipline.tag_disciplines.pluck(:position).max + max_position = sub_discipline.tag_disciplines.pluck(:position).max.to_i opr = params[:opr] || "down" if (params[:opr] == "up" && current_tag_discipline.position == 1) || (params[:opr] == "down" && current_tag_discipline.position == max_position) @message = "超出范围" diff --git a/app/controllers/tag_disciplines_controller.rb b/app/controllers/tag_disciplines_controller.rb index c80071824..2db5abf28 100644 --- a/app/controllers/tag_disciplines_controller.rb +++ b/app/controllers/tag_disciplines_controller.rb @@ -5,7 +5,7 @@ class TagDisciplinesController < ApplicationController sub_discipline = SubDiscipline.find_by!(id: params[:sub_discipline_id]) tip_exception("重复的知识点") if sub_discipline.tag_disciplines.exists?(name: params[:name].to_s.strip) tag_discipline = TagDiscipline.create!(name: params[:name].to_s.strip, sub_discipline: sub_discipline, user_id: current_user.id, - position: sub_discipline.tag_disciplines.pluck(:position).max + 1) + position: sub_discipline.tag_disciplines.pluck(:position).max.to_i + 1) render_ok({tag_discipline_id: tag_discipline.id}) end end \ No newline at end of file diff --git a/app/services/admins/import_discipline_service.rb b/app/services/admins/import_discipline_service.rb index 37cb5b7e5..a18922135 100644 --- a/app/services/admins/import_discipline_service.rb +++ b/app/services/admins/import_discipline_service.rb @@ -29,14 +29,14 @@ class Admins::ImportDisciplineService < ApplicationService return unless discipline_name.present? discipline = Discipline.find_by(name: discipline_name) if discipline.blank? - discipline = Discipline.create!(name: discipline_name, position: Discipline.all.pluck(:position).max + 1) + discipline = Discipline.create!(name: discipline_name, position: Discipline.all.pluck(:position).max.to_i + 1) count += 1 end if sub_discipline_name.present? sub_discipline = SubDiscipline.find_by(name: discipline_name, discipline: discipline) if sub_discipline.blank? - SubDiscipline.create!(name: sub_discipline_name, discipline: discipline, position: discipline.sub_disciplines.pluck(:position).max + 1) + SubDiscipline.create!(name: sub_discipline_name, discipline: discipline, position: discipline.sub_disciplines.pluck(:position).max.to_i + 1) count += 1 end end