ActsAsList provides the capabilities for sorting and reordering a number of objects in list. The class that has this specified needs to have a “position” column defined as an integer on the mapped database table1.
Todo list example:
class <span class="newWikiWord">TodoList<a href="http://wiki.rubyonrails.org/rails/pages/TodoList">?</a></span> < <a href="http://wiki.rubyonrails.org/rails/pages/ActiveRecord" class="existingWikiWord">ActiveRecord</a>::Base
has_many :todo_items, :order => "position"
end
class <span class="newWikiWord">TodoItem<a href="http://wiki.rubyonrails.org/rails/pages/TodoItem">?</a></span> < <a href="http://wiki.rubyonrails.org/rails/pages/ActiveRecord" class="existingWikiWord">ActiveRecord</a>::Base
belongs_to :todo_list
acts_as_list :scope => :todo_list
end
todo_list.first.move_to_bottom
todo_list.last.move_higher
1 Taken directly from the API
ActsAsList provides the capabilities for sorting and reordering a number of objects in list. The class that has this specified needs to have a “position” column defined as an integer on the mapped database table1.
Todo list example:
class <span class="newWikiWord">TodoList<a href="http://wiki.rubyonrails.org/rails/pages/TodoList">?</a></span> < <a href="http://wiki.rubyonrails.org/rails/pages/ActiveRecord" class="existingWikiWord">ActiveRecord</a>::Base
has_many :todo_items, :order => "position"
end
class <span class="newWikiWord">TodoItem<a href="http://wiki.rubyonrails.org/rails/pages/TodoItem">?</a></span> < <a href="http://wiki.rubyonrails.org/rails/pages/ActiveRecord" class="existingWikiWord">ActiveRecord</a>::Base
belongs_to :todo_list
acts_as_list :scope => :todo_list
end
todo_list.first.move_to_bottom
todo_list.last.move_higher
1 Taken directly from the API