method

define_generate_prefix

Importance_0
v6.0.0 - Show latest stable - 0 notes - Class: ActionDispatch::Routing::Mapper::Base
define_generate_prefix(app, name) 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_dispatch/routing/mapper.rb, line 672
          def define_generate_prefix(app, name)
            _route = @set.named_routes.get name
            _routes = @set
            _url_helpers = @set.url_helpers

            script_namer = ->(options) do
              prefix_options = options.slice(*_route.segment_keys)
              prefix_options[:relative_url_root] = ""

              if options[:_recall]
                prefix_options.reverse_merge!(options[:_recall].slice(*_route.segment_keys))
              end

              # We must actually delete prefix segment keys to avoid passing them to next url_for.
              _route.segment_keys.each { |k| options.delete(k) }
              _url_helpers.send("#{name}_path", prefix_options)
            end

            app.routes.define_mounted_helper(name, script_namer)

            app.routes.extend Module.new {
              def optimize_routes_generation?; false; end

              define_method :find_script_name do |options|
                if options.key? :script_name
                  super(options)
                else
                  script_namer.call(options)
                end
              end
            }
          end
Register or log in to add new notes.