Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 加载另一个类对mongoid有副作用_Ruby On Rails_Ruby_Ruby On Rails 4_Mongoid_Mongoid3 - Fatal编程技术网

Ruby on rails 加载另一个类对mongoid有副作用

Ruby on rails 加载另一个类对mongoid有副作用,ruby-on-rails,ruby,ruby-on-rails-4,mongoid,mongoid3,Ruby On Rails,Ruby,Ruby On Rails 4,Mongoid,Mongoid3,谁能给我解释一下: User < AbstractUser store_in collection: 'users' InvitedUser < AbstractUser store_in collection: 'invited_users' User # [4] 撬 =>错误 [5] pry(#)>User.collection => # 从那时起,对用户的mongoid操作将无法正常工作 我还报告了github上的一个问题: 看来副作用是由共同祖先引起的 没有共同

谁能给我解释一下:

User < AbstractUser
  store_in collection: 'users'

InvitedUser < AbstractUser
  store_in collection: 'invited_users'
User
然后,当我在使用用户对象时加载InvitedUser时,我会产生以下副作用

[3] pry(#<UserInvitationsController>)> User.collection
=> #<Moped::Collection:0x007f8f008f21e0
  ...
@name="users">
[4] pry(#<UserInvitationsController>)> InvitedUser
=> false
[5] pry(#<UserInvitationsController>)> User.collection
=> #<Moped::Collection:0x007f8f00202d30
@name="invited_users">
[3]pry(#)>User.collection
=> #
[4] 撬
=>错误
[5] pry(#)>User.collection
=> #
从那时起,对用户的mongoid操作将无法正常工作

我还报告了github上的一个问题:
看来副作用是由共同祖先引起的

没有共同的祖先,一切都应该是这样

=> User
[2] pry(main)> User.collection.name
=> "users"
[3] pry(main)> InvitedUser.collection.name
=> "invited_users"
[4] pry(main)> User.collection.name
=> "users"
[5] pry(main)> InvitedUser.collection.name
=> "invited_users"
[6] pry(main)> exit
对于共同祖先,副作用会出现

→ ./bin/rails c
Loading development environment (Rails 4.0.0)
[1] pry(main)> User.collection.name
=> "users"
[2] pry(main)> InvitedUser.collection.name
=> "invited_users"
[3] pry(main)> User.collection.name
=> "invited_users"
[4] pry(main)> InvitedUser.collection.name
=> "invited_users"
[5] pry(main)>