instance method
_run
Ruby on Rails 8.0.4
Since v6.0.6Signature
_run(method, template, locals, buffer, add_to_stack: true, has_strict_locals: false, &block)
No documentation comment.
Parameters
-
methodreq -
templatereq -
localsreq -
bufferreq -
add_to_stackkey = true -
has_strict_localskey = false -
blockblock
Source
# File actionview/lib/action_view/base.rb, line 261
def _run(method, template, locals, buffer, add_to_stack: true, has_strict_locals: false, &block)
_old_output_buffer, _old_virtual_path, _old_template = @output_buffer, @virtual_path, @current_template
@current_template = template if add_to_stack
@output_buffer = buffer
if has_strict_locals
begin
public_send(method, locals, buffer, **locals, &block)
rescue ArgumentError => argument_error
public_send_line = __LINE__ - 2
frame = argument_error.backtrace_locations[1]
if frame.path == __FILE__ && frame.lineno == public_send_line
raise StrictLocalsError.new(argument_error, @current_template)
end
raise
end
else
public_send(method, locals, buffer, &block)
end
ensure
@output_buffer, @virtual_path, @current_template = _old_output_buffer, _old_virtual_path, _old_template
end
Defined in actionview/lib/action_view/base.rb line 261
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionView::Base