class RailsAdmin::Config::Actions::Nestable

Public Instance Methods

update_list(model_list) click to toggle source
# File lib/rails_admin_nestable/nestable.rb, line 43
def update_list(model_list)
  model_list.each do |key, value|
    model = @abstract_model.model.find(value['id'].to_s)
    model.send("#{@position_field}=".to_sym, (key.to_i + 1))
    model.save!(validate: @enable_callback)
  end
end
update_tree(tree_nodes, parent_node = nil) click to toggle source

Methods

# File lib/rails_admin_nestable/nestable.rb, line 33
def update_tree(tree_nodes, parent_node = nil)
  tree_nodes.each do |key, value|
    model = @abstract_model.model.find(value['id'].to_s)
    model.parent = parent_node || nil
    model.send("#{@position_field}=".to_sym, (key.to_i + 1)) if @position_field.present?
    model.save!(validate: @enable_callback)
    update_tree(value['children'], model) if value.has_key?('children')
  end
end