v4.2.1 - Show latest stable - 0 notes - Class: ActionController::TestCase::Behavior
build_request_uri(action, parameters) private

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_controller/test_case.rb, line 709
      def build_request_uri(action, parameters)
        unless @request.env["PATH_INFO"]
          options = @controller.respond_to?(:url_options) ? @controller.__send__(:url_options).merge(parameters) : parameters
            :action => action,
            :relative_url_root => nil,
            :_recall => @request.path_parameters)

          if route_name = options.delete(:use_route)
            ActiveSupport::Deprecation.warn               Passing the `use_route` option in functional tests are deprecated.              Support for this option in the `process` method (and the related              `get`, `head`, `post`, `patch`, `put` and `delete` helpers) will              be removed in the next version without replacement.              Functional tests are essentially unit tests for controllers and              they should not require knowledge to how the application's routes              are configured. Instead, you should explicitly pass the appropiate              params to the `process` method.              Previously the engines guide also contained an incorrect example              that recommended using this option to test an engine's controllers              within the dummy application. That recommendation was incorrect              and has since been corrected. Instead, you should override the              `@routes` variable in the test case with `Foo::Engine.routes`. See              the updated engines guide for details..squish

          url, query_string = @routes.path_for(options, route_name).split("?", 2)

          @request.env["SCRIPT_NAME"] = @controller.config.relative_url_root
          @request.env["PATH_INFO"] = url
          @request.env["QUERY_STRING"] = query_string || ""
Register or log in to add new notes.