Skip to content

Ancestry in Rails Admin

richardonrails edited this page Jul 17, 2020 · 9 revisions

Category model snippet:

class Category < ActiveRecord::Base
  attr_accessible :name, :parent_id
  has_ancestry

  def parent_enum
    Category.where.not(id: id).map { |c| [ c.name, c.id ] }
  end
end

Rails admin configuration snippet :

config.model Category do
  field :name
  field :parent_id, :enum do
    enum_method do
      :parent_enum
    end
  end
end

Note that parent_id is virtual attribute and is not column in database.

Drag and drop tree view plugin for rails_admin: https://github.com/dalpo/rails_admin_nestable