amerine/acts_as_list

ActsAsList plugin

★ 2Forks 0RubyGitHub ↗Compare

Project website ↗

README

ActsAsList
==========

This acts_as extension provides the capabilities for sorting and reordering a number of objects in a list. The class that has this specified needs to have a +position+ column defined as an integer on the mapped database table.


Example
=======

  class TodoList < ActiveRecord::Base
    has_many :todo_items, :order => "position"
  end

  class TodoItem < ActiveRecord::Base
    belongs_to :todo_list
    acts_as_list :scope => :todo_list, :bulk_reorder => true
  end

  todo_list.first.move_to_bottom
  todo_list.last.move_higher
  todo_list.first.move_below(todo_list.last)
  todo_list.last.move_above(todo_list.first)
  todo_list.first.swap_positions_with(todo_list.last)
  TodoItem.reorder_list(todo_list.todo_items.order(:id).pluck(:id))


Copyright (c) 2007 David Heinemeier Hansson, released under the MIT license

Contributors

amerinejeremyNZKozpixeltrixmkdynamic

Issues