2013-11-21 36 views
0

副作用有人可以解釋我這樣的:加載另一個類與mongoid

User < AbstractUser 
    store_in collection: 'users' 

InvitedUser < AbstractUser 
    store_in collection: 'invited_users' 

後來,當我加載的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"> 

從那時起對用戶的mongoid操作將無法正常工作......

我還報告在GitHub上的問題: https://github.com/mongoid/mongoid/issues/3408

回答

0

看來,副作用引起的由共同的祖先。

沒有共同的祖先,一切都是它應該的。

=> 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)> 
相關問題