method
compile_template
rails latest stable - Class:
ActionView::Base
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v2.0.3) is shown here.
compile_template(handler, template, file_name, local_assigns)private
Compile and evaluate the template’s code
# File actionpack/lib/action_view/base.rb, line 614
def compile_template(handler, template, file_name, local_assigns)
render_symbol = assign_method_name(handler, template, file_name)
render_source = create_template_source(handler, template, render_symbol, local_assigns.keys)
line_offset = @@template_args[render_symbol].size + handler.line_offset
begin
file_name = 'compiled-template' if file_name.blank?
CompiledTemplates.module_eval(render_source, file_name, -line_offset)
rescue Exception => e # errors from template code
if logger
logger.debug "ERROR: compiling #{render_symbol} RAISED #{e}"
logger.debug "Function body: #{render_source}"
logger.debug "Backtrace: #{e.backtrace.join("\n")}"
end
raise TemplateError.new(extract_base_path_from(file_name) || view_paths.first, file_name || template, @assigns, template, e)
end
@@compile_time[render_symbol] = Time.now
# logger.debug "Compiled template #{file_name || template}\n ==> #{render_symbol}" if logger
end Related methods
- Instance methods
- append_view_path
- full_template_path
- prepend_view_path
- template_format
- Class methods
- handler_for_extension
- register_default_template_handler
- register_template_handler
- template_handler_extensions
- Private methods
-
assign_method_name -
assign_variables_from_controller -
compile_template -
compile_template? -
compiled_method_name -
compiled_method_name_file_path_segment -
create_template_source -
delegate_compile -
delegate_render -
evaluate_assigns -
extract_base_path_from -
find_base_path_for -
find_full_template_path -
find_template_extension_for -
find_template_extension_from_first_render -
find_template_extension_from_handler -
path_and_extension -
read_template_file -
supports_local_assigns? -
template_changed_since? -
template_exists? -
template_handler_is_compilable? -
wrap_content_for_layout