From bd9ca0439c28f40b357901bcbec9fdea3746fc90 Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 9 Aug 2024 11:22:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E8=AE=B8=E5=8F=AF?= =?UTF-8?q?=E8=AF=81=E6=8E=92=E5=BA=8F=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admins/project_licenses_controller.rb | 4 ++-- app/models/license.rb | 4 +++- app/views/admins/project_licenses/_form.html.erb | 12 ++++++++++++ app/views/admins/project_licenses/_list.html.erb | 2 ++ .../20240809030936_add_position_to_licenses.rb | 5 +++++ 5 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 db/migrate/20240809030936_add_position_to_licenses.rb diff --git a/app/controllers/admins/project_licenses_controller.rb b/app/controllers/admins/project_licenses_controller.rb index d573d3c23..8573b0a37 100644 --- a/app/controllers/admins/project_licenses_controller.rb +++ b/app/controllers/admins/project_licenses_controller.rb @@ -7,7 +7,7 @@ class Admins::ProjectLicensesController < Admins::BaseController sort_by = License.column_names.include?(params[:sort_by]) ? params[:sort_by] : 'created_at' sort_direction = %w(desc asc).include?(params[:sort_direction]) ? params[:sort_direction] : 'desc' q = License.ransack(name_cont: params[:search]) - project_licenses = q.result(distinct: true).order("#{sort_by} #{sort_direction}") + project_licenses = q.result(distinct: true).reorder("#{sort_by} #{sort_direction}") @project_licenses = paginate(project_licenses) end @@ -96,7 +96,7 @@ class Admins::ProjectLicensesController < Admins::BaseController end def license_params - params.require(:license).permit(:name,:content) + params.require(:license).permit(:name,:content,:position) end # def validate_params diff --git a/app/models/license.rb b/app/models/license.rb index f84e63573..342bda029 100644 --- a/app/models/license.rb +++ b/app/models/license.rb @@ -7,10 +7,12 @@ # content :text(65535) # created_at :datetime not null # updated_at :datetime not null -# is_secret :boolean default("0") +# position :integer default("0") # class License < ApplicationRecord + default_scope { order(position: :desc) } + include Projectable validates :name, :content, presence: true diff --git a/app/views/admins/project_licenses/_form.html.erb b/app/views/admins/project_licenses/_form.html.erb index c6ec55504..7332138f5 100644 --- a/app/views/admins/project_licenses/_form.html.erb +++ b/app/views/admins/project_licenses/_form.html.erb @@ -30,6 +30,18 @@ + +
+ +
+ <%= f.number_field :position, class: "form-control",placeholder: ""%> +
+
<%= f.submit "确认", class: "btn btn-primary submit-btn" %> diff --git a/app/views/admins/project_licenses/_list.html.erb b/app/views/admins/project_licenses/_list.html.erb index 1fa4f8d6b..88f253ae1 100644 --- a/app/views/admins/project_licenses/_list.html.erb +++ b/app/views/admins/project_licenses/_list.html.erb @@ -4,6 +4,7 @@ 序号 名称 简介 + <%= sort_tag('排序等级', name: 'position', path: admins_project_licenses_path) %> <% =begin%> <%= sort_tag('项目数', name: 'projects_count', path: admins_project_licenses_path) %> @@ -24,6 +25,7 @@ <%= project_license.content.to_s.truncate(200) %> + <%= project_license.position %> <% =begin%> <%= project_license.projects_count %> diff --git a/db/migrate/20240809030936_add_position_to_licenses.rb b/db/migrate/20240809030936_add_position_to_licenses.rb new file mode 100644 index 000000000..7c86ef46c --- /dev/null +++ b/db/migrate/20240809030936_add_position_to_licenses.rb @@ -0,0 +1,5 @@ +class AddPositionToLicenses < ActiveRecord::Migration[5.2] + def change + add_column :licenses, :position, :integer, default: 0 + end +end