Class: ActiveScaffold::Config::Nested
- Defined in:
- lib/active_scaffold/config/nested.rb
Constant Summary collapse
- @@shallow_delete =
true
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
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, #formats, #formats=, inherited, #label
Methods included from ActiveScaffold::Configurable
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.
52 53 54 |
# File 'lib/active_scaffold/config/nested.rb', line 52 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 43 44 |
# File 'lib/active_scaffold/config/nested.rb', line 26 def add_link(attribute, = {}) column = @core.columns[attribute.to_sym] if column && column.association label = if column.polymorphic_association? column.label else column.association.klass.model_name.human({:count => column.singular_association? ? 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 elsif column.nil? raise ArgumentError.new("unknown column #{attribute}") elsif column.association.nil? raise ArgumentError.new("column #{attribute} is not an association") end end |
#add_scoped_link(named_scope, options = {}) ⇒ Object
46 47 48 49 |
# File 'lib/active_scaffold/config/nested.rb', line 46 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 |