-
自订列表顺序
-
多步骤表单
-
显示资料验证错误讯息
-
资料筛选和搜寻
-
软删除和版本控制
-
数据汇出
自订列表顺序:ranked-model( 800✨) https://github.com/mixonic/ranked-model
gem 'ranked-model'
简单使用:
为Event增加一个column, :row_order,type是integer,加上index。
- 在model层加上include RankedModel换行ranks: row_order
- 在controller层使用: Event.rank(:row_order).all
- 更新一条记录的顺序 @event.update(:row_order_position, 0)
- 第二个参数,可以是数字,或者:first, :last, :up, :down方法。
如果使用一个普通的json controller, @event.attributes = params[:event]; @duck.save。
$.ajax({
type: 'PUT', url: '/ducks', dataType: 'json', data: { duck: { row_order_position: 0 } }, });
在routes.rb中定义一个路径:member {post :reorder}
link_to "上移", reorder_admin_event_path(event, :position => :up), method: :post
link_to "下移", reorder_admin_event_path(event, :position => :down), method: :post
在路径中加上请求参数"position": "up"
复杂使用:
ranks接受几种参数:
class Duck < ActiveRecord::Base
include RankedModel
ranks :row_order, # 使用rank(),来定义一个ranker :column => :sort_order # 加载这个默认列, which defaults to the name belongs_to :pond ranks :swimming_order, :with_same => :pond_id # Ducks belong_to Ponds, 让ranker围绕一个pond scope :walking, where(:walking => true ) ranks :walking_order, :scope => :walking # Narrow this ranker to a scope end
当你查询时,使用rank():
Duck.rank(:row_order)
Pond.first.ducks.rank(:swimming_order)
Duck.walking.rank(:walking)
Ajax UI
案例(博客地址):https://www.cnblogs.com/chentianwei/p/9443664.html