method

handle_list

Importance_0
v4.2.7 - Show latest stable - 0 notes - Class: HelperMethodBuilder
handle_list(list) public

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File actionpack/lib/action_dispatch/routing/polymorphic_routes.rb, line 271
        def handle_list(list)
          record_list = list.dup
          record      = record_list.pop

          args = []

          route  = record_list.map { |parent|
            case parent
            when Symbol, String
              parent.to_s
            when Class
              args << parent
              parent.model_name.singular_route_key
            else
              args << parent.to_model
              parent.to_model.model_name.singular_route_key
            end
          }

          route <<
          case record
          when Symbol, String
            record.to_s
          when Class
            @key_strategy.call record.model_name
          else
            model = record.to_model
            if model.persisted?
              args << model
              model.model_name.singular_route_key
            else
              @key_strategy.call model.model_name
            end
          end

          route << suffix

          named_route = prefix + route.join("_")
          [named_route, args]
        end
Register or log in to add new notes.