Skip to Content Skip to Search

Helpers related to template lookup using the lookup context information.

Methods
A
D
E
F
P
T

Attributes

[R] html_fallback_for_js
[R] view_paths

Instance Public methods

any?(name, prefixes = [], partial = false)

Also aliased as: any_templates?
# File actionview/lib/action_view/lookup_context.rb, line 148
def any?(name, prefixes = [], partial = false)
  name, prefixes = normalize_name(name, prefixes)
  details, details_key = detail_args_for_any
  @view_paths.exists?(name, prefixes, partial, details, details_key, [])
end

any_templates?(name, prefixes = [], partial = false)

Alias for: any?

append_view_paths(paths)

# File actionview/lib/action_view/lookup_context.rb, line 155
def append_view_paths(paths)
  @view_paths = build_view_paths(@view_paths.to_a + paths)
end

exists?(name, prefixes = [], partial = false, keys = [], **options)

Also aliased as: template_exists?
# File actionview/lib/action_view/lookup_context.rb, line 141
def exists?(name, prefixes = [], partial = false, keys = [], **options)
  name, prefixes = normalize_name(name, prefixes)
  details, details_key = detail_args_for(options)
  @view_paths.exists?(name, prefixes, partial, details, details_key, keys)
end

find(name, prefixes = [], partial = false, keys = [], options = {})

Also aliased as: find_template
# File actionview/lib/action_view/lookup_context.rb, line 128
def find(name, prefixes = [], partial = false, keys = [], options = {})
  name, prefixes = normalize_name(name, prefixes)
  details, details_key = detail_args_for(options)
  @view_paths.find(name, prefixes, partial, details, details_key, keys)
end

find_all(name, prefixes = [], partial = false, keys = [], options = {})

# File actionview/lib/action_view/lookup_context.rb, line 135
def find_all(name, prefixes = [], partial = false, keys = [], options = {})
  name, prefixes = normalize_name(name, prefixes)
  details, details_key = detail_args_for(options)
  @view_paths.find_all(name, prefixes, partial, details, details_key, keys)
end

find_template(name, prefixes = [], partial = false, keys = [], options = {})

Alias for: find

prepend_view_paths(paths)

# File actionview/lib/action_view/lookup_context.rb, line 159
def prepend_view_paths(paths)
  @view_paths = build_view_paths(paths + @view_paths.to_a)
end

template_exists?(name, prefixes = [], partial = false, keys = [], **options)

Alias for: exists?

Instance Private methods

detail_args_for(options)

Compute details hash and key according to user options (e.g. passed from render).

# File actionview/lib/action_view/lookup_context.rb, line 175
def detail_args_for(options) # :doc:
  return @details, details_key if options.empty? # most common path.
  user_details = @details.merge(options)

  if @cache
    details_key = DetailsKey.details_cache_key(user_details)
  else
    details_key = nil
  end

  [user_details, details_key]
end