gpt4 book ai didi

ruby-on-rails - 事件管理员 - 使资源可排序以在前端进行特定排序

转载 作者:行者123 更新时间:2023-12-04 02:48:44 26 4
gpt4 key购买 nike

我正在尝试向 Active Admin 中的资源添加排序/重新排序。我知道您可以在登录时按不同的列进行排序以供查看。我想做的是能够订购元素,以便它们以特定的顺序显示在前端。关于如何做到这一点的任何想法?

我已经在数据库中有一个排序列。

此外,我想在管理部分以特定顺序显示项目。

任何人对我将如何实现这一点有任何想法?

最佳答案

我最近在我的 HomeSlide 模型上使用了一个名为 position 的列来实现这一点。

ActiveAdmin.register HomeSlide do
config.sort_order = 'position_asc'

index do
column :title
default_actions
end

# This action is called by javascript when you drag and drop a column
# It iterates through the collection and sets the new position based on the
# order that jQuery submitted them
collection_action :sort, :method => :post do
params[:home_slide].each_with_index do |id, index|
HomeSlide.update_all(['position=?', index+1], ['id=?', id])
end
render :nothing => true
end

end

将此添加到您的 active_admin javascripts( CoffeeScript )
sendSortRequestOfModel = (model_name) ->
formData = $('#' + model_name + ' tbody').sortable('serialize')
formData += "&" + $('meta[name=csrf-param]').attr("content") + "=" + encodeURIComponent($('meta[name=csrf-token]').attr("content"))
$.ajax
type: 'post'
data: formData
dataType: 'script'
url: '/admin/' + model_name + '/sort'

jQuery ($) ->

# home page slides
if $('body.admin_home_slides.index').length
$( "#home_slides tbody" ).disableSelection()
$( "#home_slides tbody" ).sortable
axis: 'y'
cursor: 'move'
update: (event, ui) ->
sendSortRequestOfModel("home_slides")

关于ruby-on-rails - 事件管理员 - 使资源可排序以在前端进行特定排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com