method
assign_parameters
assign_parameters(routes, controller_path, action, parameters = {})
public
Hide source
# File actionpack/lib/action_controller/test_case.rb, line 145 def assign_parameters(routes, controller_path, action, parameters = {}) parameters = parameters.symbolize_keys.merge(:controller => controller_path, :action => action) extra_keys = routes.extra_keys(parameters) non_path_parameters = get? ? query_parameters : request_parameters parameters.each do |key, value| if value.is_a? Fixnum value = value.to_s elsif value.is_a? Array value = Result.new(value.map { |v| v.is_a?(String) ? v.dup : v }) elsif value.is_a? String value = value.dup end if extra_keys.include?(key.to_sym) non_path_parameters[key] = value else path_parameters[key.to_s] = value end end # Clear the combined params hash in case it was already referenced. @env.delete("action_dispatch.request.parameters") params = self.request_parameters.dup %(controller action only_path).each do |k| params.delete(k) params.delete(k.to_sym) end data = params.to_query @env['CONTENT_LENGTH'] = data.length.to_s @env['rack.input'] = StringIO.new(data) end