Guest User

Untitled

a guest
Apr 21st, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.72 KB | None | 0 0
  1. require 'rubygems'
  2. require 'mongo_mapper'
  3. MongoMapper.database = 'test-poly'
  4.  
  5. class Company
  6. include MongoMapper::Document
  7.  
  8. many :addresses, :as => :addressable
  9. end
  10.  
  11. # Only including to show that this is not just a contrived example
  12. class Person
  13. include MongoMapper::Document
  14.  
  15. many :addresses, :as => :addressable
  16. end
  17.  
  18. class Address
  19. include MongoMapper::Document
  20.  
  21. key :addressable_id, ObjectId
  22. key :addressable_type, String
  23.  
  24. belongs_to :addressable, :polymorphic => true
  25. end
  26.  
  27. # In console:
  28.  
  29. a = Address.new
  30. c = Company.new
  31.  
  32. a.addressable = c
  33.  
  34. c.addresses #=> [] <-- Should be a, but is not
  35.  
  36. # Seems to work after a saves
  37. a.save
  38. p c.addresses
  39.  
  40. # However, this works:
  41.  
  42. c.addresses << a
  43. c.addresses #=> a
  44.  
  45. p c.addresses
Add Comment
Please, Sign In to add comment