Permalink
Browse files

set a constant for the "anonymous" habtm model fixes #15022

I wanted the middle model to be anonymous, but we have to give it a name
for marshal support. :'(
  • Loading branch information...
1 parent afb44f4 commit 7a599b54f771f4237948dbff7a3d3eaf4e0d7f1e @tenderlove tenderlove committed May 8, 2014
@@ -1577,6 +1577,11 @@ def has_and_belongs_to_many(name, scope = nil, options = {}, &extension)
join_model = builder.through_model
+ # FIXME: we should move this to the internal constants. Also people
+ # should never directly access this constant so I'm not happy about
+ # setting it.
+ const_set join_model.name, join_model
+
middle_reflection = builder.middle_reflection join_model
Builder::HasMany.define_callbacks self, middle_reflection
@@ -83,6 +83,12 @@ def setup_data_for_habtm_case
country.treaties << treaty
end
+ def test_marshal_dump
+ post = posts :welcome
+ preloaded = Post.includes(:categories).find post.id
+ assert_equal preloaded, Marshal.load(Marshal.dump(preloaded))
+ end
+
def test_should_property_quote_string_primary_keys
setup_data_for_habtm_case

0 comments on commit 7a599b5

Please sign in to comment.