Skip to content

Instantly share code, notes, and snippets.

@raykrueger
Created February 6, 2011 04:04
Show Gist options
  • Save raykrueger/92de25900681cd82a63e to your computer and use it in GitHub Desktop.
Save raykrueger/92de25900681cd82a63e to your computer and use it in GitHub Desktop.
source :rubygems
gem 'mongoid', :git => 'git://github.com/mongoid/mongoid.git'
gem 'bson_ext', "1.2.0"
/Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/attributes.rb:199:in `method_missing': undefined method `each' for #<Relationship:0x00000100a565d0> (NoMethodError)
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/bindings/embedded/many.rb:27:in `bind'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/embedded/many.rb:28:in `bind'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/embedded/many.rb:252:in `block in substitute'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/embedded/many.rb:248:in `tap'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/embedded/many.rb:248:in `substitute'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/accessors.rb:147:in `block (2 levels) in setter'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/extensions/object/yoda.rb:22:in `do_or_do_not'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/bindings/referenced/one.rb:29:in `bind'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/referenced/one.rb:28:in `bind'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/one.rb:42:in `block in substitute'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/one.rb:40:in `tap'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/one.rb:40:in `substitute'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/accessors.rb:147:in `block (2 levels) in setter'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/attributes/processing.rb:135:in `block in process_relations'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/attributes/processing.rb:130:in `each_pair'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/attributes/processing.rb:130:in `process_relations'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/attributes/processing.rb:118:in `process_pending'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/attributes/processing.rb:25:in `process'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/multi_parameter_attributes.rb:59:in `process'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/attributes.rb:169:in `write_attributes'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/many.rb:46:in `block in build'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/many.rb:44:in `tap'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/many.rb:44:in `build'
from /Users/rkrueger/.rvm/gems/ruby-1.9.2-p136/bundler/gems/mongoid-cbf53a78464d/lib/mongoid/relations/embedded/many.rb:84:in `create'
from mongoid_bug.rb:34:in `<main>'
require 'rubygems'
require 'bundler/setup'
require 'mongoid'
require 'bson'
Mongoid.configure do |config|
name = "relations_bug_development"
host = "localhost"
config.master = Mongo::Connection.new.db(name)
end
class User
include Mongoid::Document
field :name
embeds_many :relationships, :class_name => 'Relationship'
end
class Relationship
include Mongoid::Document
references_one :other_user, :class_name => "User"
field :type => String, :default => 'friend'
embedded_in :user, :inverse_of => :relationships, :class_name => 'User'
end
user = User.create!(:name => "Ray")
friend = User.create!(:name => "Dawn")
p user.relationships.create(:type => 'wife', :other_user => friend)
user.save!
puts user.to_json
puts friend.to_json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment