diff --git a/lib/mongoid/touchable.rb b/lib/mongoid/touchable.rb index c1c93f825c..08ccfbd080 100644 --- a/lib/mongoid/touchable.rb +++ b/lib/mongoid/touchable.rb @@ -212,12 +212,6 @@ def touch_callback_statuses # # @return [ Symbol ] The method name. def define_relation_touch_method(name, association) - relation_classes = if association.polymorphic? - association.send(:inverse_association_classes) - else - [ association.relation_class ] - end - method_name = "touch_#{name}_after_create_or_destroy" association.inverse_class.class_eval do define_method(method_name) do diff --git a/spec/mongoid/association_spec.rb b/spec/mongoid/association_spec.rb index fca9131b32..4477c80cf7 100644 --- a/spec/mongoid/association_spec.rb +++ b/spec/mongoid/association_spec.rb @@ -15,6 +15,20 @@ ) end + context "when class_name references an unknown class" do + context "when loading" do + it "does not raise an exception" do + expect do + class AssocationSpecModel + include Mongoid::Document + + embedded_in :parent, class_name: 'SomethingBogusThatDoesNotExistYet' + end + end.not_to raise_exception + end + end + end + describe "#embedded?" do let(:person) do