module InheritedResources::ShallowHelpers
def load_parents(instance, parent_symbols)
def load_parents(instance, parent_symbols) parent_symbols.reverse.each do |parent| instance = instance.send(parent) params[resources_configuration[parent][:param]] = instance.to_param end end
def symbols_for_association_chain #:nodoc:
it has some customization.
simply return the parent_symbols, however on polymorphic belongs to,
Maps parents_symbols to build association chain. In this case, it
def symbols_for_association_chain #:nodoc: parent_symbols = parents_symbols.dup if parents_symbols.size > 1 && !params[:id] inst_class_name = parent_symbols.pop finder_method = resources_configuration[inst_class_name][:finder] || :find instance = resources_configuration[inst_class_name][:parent_class].send(finder_method, params[resources_configuration[inst_class_name][:param]]) load_parents(instance, parent_symbols) end if params[:id] finder_method = resources_configuration[:self][:finder] || :find instance = self.resource_class.send(finder_method, params[:id]) load_parents(instance, parent_symbols) end parents_symbols end