Skip to content

Instantly share code, notes, and snippets.

@jzajpt
Created July 15, 2010 11:11
Show Gist options
  • Save jzajpt/476822 to your computer and use it in GitHub Desktop.
Save jzajpt/476822 to your computer and use it in GitHub Desktop.
context "when deleting 2 nested docs" do
let(:person) { Person.new }
before do
person.favorites.build(:title => "Johnny")
person.favorites.build(:title => "Ice cream")
person.favorites.build(:title => "Coke")
person.favorites.build(:title => "Sugar")
person.save!
@attributes = {
"0" => { "_destroy" => "1" },
"1" => { "_destroy" => "1" },
}
person.update_attributes :favorites_attributes => @attributes
end
after do
Person.delete_all
end
it "should remove marked docs" do
person.favorites.count.should == 2
end
end
end
Stacktrace:
3) Mongoid::Attributes updating nested docs when deleting 2 nested docs should keep the other docs
Failure/Error: person.update_attributes :favorites_attributes => @attributes
undefined method `_children' for ["title", "Ice cream"]:Array
# ./spec/../lib/mongoid/hierarchy.rb:33:in `_children'
# ./spec/../lib/mongoid/hierarchy.rb:32:in `each'
# ./spec/../lib/mongoid/hierarchy.rb:32:in `_children'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/mongo-1.0.5/lib/../lib/mongo/connection.rb:383:in `inject'
# ./spec/../lib/mongoid/hierarchy.rb:29:in `each'
# ./spec/../lib/mongoid/hierarchy.rb:29:in `inject'
# ./spec/../lib/mongoid/hierarchy.rb:29:in `_children'
# ./spec/../lib/mongoid/atomicity.rb:18:in `_updates'
# ./spec/../lib/mongoid/persistence/update.rb:61:in `update'
# ./spec/../lib/mongoid/persistence/update.rb:45:in `persist'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/callbacks.rb:412:in `_run_update_callbacks'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/callbacks.rb:88:in `send'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/callbacks.rb:88:in `run_callbacks'
# ./spec/../lib/mongoid/persistence/update.rb:44:in `persist'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/callbacks.rb:437:in `_run_save_callbacks'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/callbacks.rb:88:in `send'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/activesupport-3.0.0.beta4/lib/active_support/callbacks.rb:88:in `run_callbacks'
# ./spec/../lib/mongoid/persistence/update.rb:43:in `persist'
# ./spec/../lib/mongoid/persistence.rb:77:in `update'
# ./spec/../lib/mongoid/persistence.rb:90:in `update_attributes'
# spec/integration/mongoid/attributes_spec.rb:179
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/hooks.rb:78:in `instance_eval'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/hooks.rb:78:in `run_hook_in'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/hooks.rb:51:in `each'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/hooks.rb:51:in `run_hook'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:154:in `eval_before_eachs'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:154:in `each'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:154:in `eval_before_eachs'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example.rb:125:in `run_before_each'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example.rb:48:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example.rb:46:in `call'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example.rb:46:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:186:in `run_examples'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:183:in `map'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:183:in `run_examples'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:174:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:175:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:175:in `map'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:175:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:175:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:175:in `map'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/example_group.rb:175:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/command_line.rb:38:in `run_examples'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/configuration.rb:118:in `inject'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/command_line.rb:38:in `each'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/command_line.rb:38:in `inject'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/command_line.rb:38:in `run_examples'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/command_line.rb:21:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/formatters/base_formatter.rb:37:in `report'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/formatters/base_formatter.rb:156:in `sync_output'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/formatters/base_formatter.rb:34:in `report'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/command_line.rb:18:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/runner.rb:46:in `run_in_process'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/runner.rb:37:in `run'
# /Users/jzajpt/.rvm/gems/ruby-1.8.7-p299@rails3/gems/rspec-core-2.0.0.beta.16/lib/rspec/core/runner.rb:10:in `autorun'
# spec/integration/mongoid/attributes_spec.rb:3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment