vendor/bundle/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb
# CANONICAL_ACTIONS holds all actions that does not need a prefix or
# a path appended since they fit properly in their scope level.
CANONICAL_ACTIONS holds all actions that does not need a prefix or
a path appended since they fit properly in their scope level.
CANONICAL_ACTIONS holds all actions that does not need a prefix or a path appended since they fit properly in their scope level .
def name_for_action(as, action) 
            prefix = prefix_name_for_action(as, action)
            prefix = Mapper.normalize_name(prefix) if prefix
            name_prefix = @scope[:as]
            if parent_resource
              return nil unless as || action
              collection_name = parent_resource.collection_name
              member_name = parent_resource.member_name
            end
            name = case @scope[:scope_level]
            when :nested
              [name_prefix, prefix]
            when :collection
              [prefix, name_prefix, collection_name]
            when :new
              [prefix, :new, name_prefix, member_name]
            when :member
              [prefix, shallow_scoping? ? @scope[:shallow_prefix] : name_prefix, member_name]
            when :root
              [name_prefix, collection_name, prefix]
            else
              [name_prefix, member_name, prefix]
            end
            if candidate = name.select(&:present?).join("_").presence
              if as.nil?
                candidate unless @set.routes.find { |r| r.name == candidate } || candidate !~ /\A[_a-z]/i
              else
                candidate
              end
            end
          end
def name_for_action ( as , action ) prefix = prefix_name_for_action ( as , action ) prefix = Mapper . normalize_name ( prefix ) if prefix name_prefix = @scope [ :as ] if parent_resource return nil unless as || action collection_name = parent_resource . collection_name member_name = parent_resource . member_name end name = case @scope [ :scope_level ] when :nested [ name_prefix , prefix ] when :collection [ prefix , name_prefix , collection_name ] when :new [ prefix , :new , name_prefix , member_name ] when :member [ prefix , shallow_scoping? ? @scope [ :shallow_prefix ] : name_prefix , member_name ] when :root [ name_prefix , collection_name , prefix ] else [ name_prefix , member_name , prefix ] end if candidate = name . select ( & :present? ) . join ( "_" ) . presence if as . nil? candidate unless @set . routes . find { | r | r . name == candidate } || candidate !~ / \A [_a-z] /i else candidate end end end
CANONICAL_ACTIONS holds all actions that does not need a prefix or
a path appended since they fit properly in their scope level.
CANONICAL_ACTIONS holds all actions that does not need a prefix or a path appended since they fit properly in their scope level .
#:nodoc: # If a name was not explicitly given, we check if it is valid # and return nil in case it isn't. Otherwise, we pass the invalid name # forward so the underlying router engine treats it and raises an exception.
as
<not_specific>
action
<not_specific>