Class: ActiveAdmin::Resource

Inherits:
Object
  • Object
show all
Defined in:
lib/active_admin/cancan_integration.rb

Instance Method Summary collapse

Instance Method Details

#add_default_action_itemsObject

lib/active_admin/resource/action_items.rb



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/active_admin/cancan_integration.rb', line 56

def add_default_action_items
  # New Link on all actions except :new and :show
  add_action_item(:except => [:new, :show], :if => proc{ can? :create, active_admin_config.resource_class }) do
    if controller.action_methods.include?('new')
      link_to(I18n.t('active_admin.new_model', :model => active_admin_config.resource_label), new_resource_path)
    end
  end
 
  # Edit link on show
  add_action_item(:only => :show, :if => proc{ can? :update, resource }) do
    if controller.action_methods.include?('edit')
      link_to(I18n.t('active_admin.edit_model', :model => active_admin_config.resource_label), edit_resource_path(resource))
    end
  end
 
  # Destroy link on show
  add_action_item(:only => :show, :if => proc{ can? :destroy, resource }) do
    if controller.action_methods.include?("destroy")
      link_to(I18n.t('active_admin.delete_model', :model => active_admin_config.resource_label),
        resource_path(resource),
        :method => :delete, :data => {:confirm => I18n.t('active_admin.delete_confirmation')})
    end
  end
end

#default_menu_optionsObject

The :if block is evaluated by TabbedNavigation#display_item?



49
50
51
52
# File 'lib/active_admin/cancan_integration.rb', line 49

def default_menu_options
  klass = resource_class # avoid variable capture
  super.merge(:if => proc{ can? :read, klass })
end