Module: ActiveAdminSimpleLife::SimpleMenu
- Included in:
- ActiveAdminSimpleLife
- Defined in:
- lib/active_admin_simple_life/simple_menu.rb
Instance Method Summary collapse
-
#simple_menu_for(klass, options = {}) ⇒ Object
for proper work, model must have class method
mail_fields, which return array of field symbols.
Instance Method Details
#simple_menu_for(klass, options = {}) ⇒ Object
for proper work, model must have class method mail_fields, which return array of field symbols. references write as is, like foo_id
in options can take: menu_priority:integer menu_parent:string permitted_params:array for some additions to main_fields permitted params
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/active_admin_simple_life/simple_menu.rb', line 12 def (klass, = {}) ActiveAdmin.register klass do = .slice(:priority, :parent) if .any? permitted_params = [:permitted_params] permit_params(*(klass.main_fields + (permitted_params || []))) actions :all, except: [:show] controller.class_variable_set(:@@permitted_params, permitted_params) controller.class_variable_set(:@@klass, klass) controller do def scoped_collection permitted_params = self.class.class_variable_get :@@permitted_params self.class.class_variable_get(:@@klass).includes(*permitted_params.map(&:cut_id)) end end if permitted_params index_for_main_fields klass, filter_for_main_fields klass form_for_main_fields klass end end |