diff --git a/app/controllers/admins/project_licenses_controller.rb b/app/controllers/admins/project_licenses_controller.rb index d573d3c2..8573b0a3 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 f84e6357..342bda02 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 c6ec5550..7332138f 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 1fa4f8d6..88f253ae 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 00000000..7c86ef46 --- /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