Method to check whether template compilation is
necessary. The template will
be compiled if the inline template or file has not been
compiled yet, if local_assigns has a new key, which isn’t
supported by the compiled code yet, or if the file has changed on disk and
checking file mods hasn’t been disabled.
# File actionpack/lib/action_view/base.rb, line 555
def compile_template?(template, file_name, local_assigns)
method_key = file_name || template
render_symbol = @@method_names[method_key]
compile_time = @@compile_time[render_symbol]
if compile_time && supports_local_assigns?(render_symbol, local_assigns)
if file_name && !@@cache_template_loading
template_changed_since?(file_name, compile_time)
end
else
true
end
end