diff --git a/actionview/lib/action_view/base.rb b/actionview/lib/action_view/base.rb index 3840ac0caf17516dfbc82376012c1bbf71a78a21..ab9e2176484a5ae110ee6a95972d731a2db43a70 100644 --- a/actionview/lib/action_view/base.rb +++ b/actionview/lib/action_view/base.rb @@ -190,6 +190,14 @@ def with_empty_template_cache # :nodoc: # correctly. define_method(:compiled_method_container) { subclass } define_singleton_method(:compiled_method_container) { subclass } + + def self.name + superclass.name + end + + def inspect + "#<#{self.class.name}:#{'%#016x' % (object_id << 1)}>" + end } end diff --git a/actionview/test/template/render_test.rb b/actionview/test/template/render_test.rb index 82dd56b99f85d04c02e443f7ca05d3448966943d..541b0b13b72a3f496bee25df449733bbd2776c3a 100644 --- a/actionview/test/template/render_test.rb +++ b/actionview/test/template/render_test.rb @@ -327,6 +327,11 @@ def test_render_file_with_errors assert_equal File.expand_path("#{FIXTURE_LOAD_PATH}/test/_raise.html.erb"), e.file_name end + def test_undefined_method_error_references_named_class + e = assert_raises(ActionView::Template::Error) { @view.render(inline: "<%= undefined %>") } + assert_match(/`undefined' for #/, e.message) + end + def test_render_object assert_equal "Hello: david", @view.render(partial: "test/customer", object: Customer.new("david")) assert_equal "FalseClass", @view.render(partial: "test/klass", object: false)