-
Type: Task
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: None
-
Labels:None
<pre><code>
class Book
include Mongoid::Document
embeds_many :pages
end
class Page
include Mongoid::Document
embedded_in :book, inverse_of: :pages
field :number
end
</code></pre>
if the number of embedded documents is odd - all works fine
<pre>
ruby-1.9.2-rc1 > book = Book.create
=> #<Book _id: 4c337b10948f3963f1000005, >
ruby-1.9.2-rc1 > book.pages
=> []
ruby-1.9.2-rc1 > book.pages.create number: '1'
=> #<Page _id: 4c337b21948f3963f1000006, number: "1">
ruby-1.9.2-rc1 > book.pages.create number: '2'
=> #<Page _id: 4c337b23948f3963f1000007, number: "2">
ruby-1.9.2-rc1 > book.pages.create number: '3'
=> #<Page _id: 4c337b24948f3963f1000008, number: "3">
ruby-1.9.2-rc1 > book.pages
=> [#<Page _id: 4c337b21948f3963f1000006, number: "1">, #<Page _id:
4c337b23948f3963f1000007, number: "2">, #<Page _id:
4c337b24948f3963f1000008, number: "3">]
ruby-1.9.2-rc1 > book.pages.destroy_all
=> 3
ruby-1.9.2-rc1 > book.pages
=> []
</pre>
but if the number is even:
<pre>
ruby-1.9.2-rc1 > book = Book.create
=> #<Book _id: 4c337b48948f3963f1000009, >
ruby-1.9.2-rc1 > book.pages
=> []
ruby-1.9.2-rc1 > book.pages.create number: '1'
=> #<Page _id: 4c337b55948f3963f100000a, number: "1">
ruby-1.9.2-rc1 > book.pages.create number: '2'
=> #<Page _id: 4c337b58948f3963f100000b, number: "2">
ruby-1.9.2-rc1 > book.pages
=> [#<Page _id: 4c337b55948f3963f100000a, number: "1">, #<Page _id:
4c337b58948f3963f100000b, number: "2">]
ruby-1.9.2-rc1 > book.pages.destroy_all
=> 2
ruby-1.9.2-rc1 > book.pages
=>
</pre>
now book.pages is a Hash
mongoid 2.0.0.beta9 or latest git - no matter
ruby-1.9.2-rc1
Rails 3.0.0.beta4