class Admins::SubjectsController < Admins::BaseController def index default_sort('created_at', 'desc') subjects = Admins::SubjectQuery.call(params) @subjects = paginate subjects.includes(:repertoire, :subject_level_system, user: { user_extension: :school }) end def edit @subject = current_subject end def update current_subject.update!(update_params) flash[:success] = '保存成功' redirect_to admins_subjects_path end def destroy current_subject.destroy! render_delete_success end # 隐藏 def hide current_subject.update!(hidden: true) render_ok end # 展示 def cancel_hide current_subject.update!(hidden: false) render_ok end # 设为主页展示 def homepage_show current_subject.update!(homepage_show: true) render_ok end # 取消主页展示 def cancel_homepage_show current_subject.update!(homepage_show: false) render_ok end # 设为金课 def excellent current_subject.update!(excellent: true) render_ok end # 取消金课 def cancel_excellent current_subject.update!(excellent: false) render_ok end private def current_subject @_current_subject ||= Subject.find(params[:id]) end def update_params params.require(:subject).permit(:repertoire_id, :subject_level_system_id, :student_count) end end