Class: ActiveScaffold::Config::Nested
- Defined in:
- lib/active_scaffold/config/nested.rb
Constant Summary collapse
- @@shallow_delete =
true
Constants inherited from Base
Instance Attribute Summary collapse
-
#ignore_order_from_association ⇒ Object
Returns the value of attribute ignore_order_from_association.
-
#label ⇒ Object
writeonly
the label for this Nested action.
-
#shallow_delete ⇒ Object
instance-level configuration —————————-.
Attributes inherited from Base
#action_group, #core, #formats, #user_settings_key
Instance Method Summary collapse
-
#add_link(attribute, options = {}) ⇒ Object
Add a nested ActionLink.
- #add_scoped_link(named_scope, options = {}) ⇒ Object
-
#initialize(core_config) ⇒ Nested
constructor
A new instance of Nested.
Methods inherited from Base
#crud_type, inherited, #label, #model_id, #new_user_settings, #setup_user_setting_key, #user
Methods included from ActiveScaffold::Configurable
#configure, #method_missing, #respond_to_missing?
Constructor Details
#initialize(core_config) ⇒ Nested
Returns a new instance of Nested.
5 6 7 8 9 10 |
# File 'lib/active_scaffold/config/nested.rb', line 5 def initialize(core_config) super @label = :add_existing_model @shallow_delete = self.class.shallow_delete @ignore_order_from_association = self.class.ignore_order_from_association end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class ActiveScaffold::Configurable
Instance Attribute Details
#ignore_order_from_association ⇒ Object
Returns the value of attribute ignore_order_from_association.
23 24 25 |
# File 'lib/active_scaffold/config/nested.rb', line 23 def ignore_order_from_association @ignore_order_from_association end |
#label=(value) ⇒ Object (writeonly)
the label for this Nested action. used for the header.
50 51 52 |
# File 'lib/active_scaffold/config/nested.rb', line 50 def label=(value) @label = value end |
#shallow_delete ⇒ Object
instance-level configuration
21 22 23 |
# File 'lib/active_scaffold/config/nested.rb', line 21 def shallow_delete @shallow_delete end |
Instance Method Details
#add_link(attribute, options = {}) ⇒ Object
Add a nested ActionLink
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/active_scaffold/config/nested.rb', line 26 def add_link(attribute, = {}) column = @core.columns[attribute.to_sym] raise ArgumentError, "unknown column #{attribute}" if column.nil? raise ArgumentError, "column #{attribute} is not an association" if column.association.nil? label = if column.association.polymorphic? column.label else column.association.klass.model_name.human(:count => column.association.singular? ? 1 : 2, :default => column.association.klass.name.pluralize) end .reverse_merge! :security_method => :nested_authorized?, :label => label action_group = .delete(:action_group) || self.action_group action_link = @core.link_for_association(column, ) @core.action_links.add_to_group(action_link, action_group) unless action_link.nil? action_link end |
#add_scoped_link(named_scope, options = {}) ⇒ Object
44 45 46 47 |
# File 'lib/active_scaffold/config/nested.rb', line 44 def add_scoped_link(named_scope, = {}) action_link = @core.link_for_association_as_scope(named_scope.to_sym, ) @core.action_links.add_to_group(action_link, action_group) unless action_link.nil? end |