method
handle_list
v6.0.0 -
Show latest stable
- Class:
ActionDispatch::Routing::PolymorphicRoutes::HelperMethodBuilder
handle_list(list)public
No documentation available.
# File actionpack/lib/action_dispatch/routing/polymorphic_routes.rb, line 284
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