0
我正在構建Rails應用程序,並且在實現團隊和用戶多對多關係時遇到了一些麻煩,用戶可以通過這種方式部分多個團隊和一個團隊顯然可以有多個用戶。這些是我目前的車型:在Mongoid中實現多對多關係時遇到問題
class User
include Mongoid::Document
has_and_belongs_to_many :teams, :class_name => 'Team', :inverse_of => :member
end
class Team
include Mongoid::Document
has_and_belongs_to_many :members, :class_name => 'User', :inverse_of => :teams
end
我的問題是,當我測試這個Rails的控制檯上,它只是不有道理:
2.0.0-p0 :002 > u = User.first
=> #<User _id: 519c692e38508ce07e000001, team_ids: ["519c6f1338508c9431000001"]>
2.0.0-p0 :005 > t = u.teams.new
=> #<Team _id: 519c6fcd38508c08e0000001, member_ids: ["519c692e38508ce07e000001"]>
2.0.0-p0 :006 > u.teams
=> [#<Team _id: 519c6fcd38508c08e0000001, member_ids: ["519c692e38508ce07e000001"]>]
2.0.0-p0 :008 > t.members
=> []
爲什麼沒有團隊成員關係向我顯示用戶,但數組有它的ID?它應該包含用戶對象,因爲我使用了u.teams.new
。我嘗試了不同的東西,但都產生了類似的結果(例如用戶沒有列出任何團隊,但在陣列上有ID)。我怎樣才能解決這個問題?謝謝!
PD:我運行邊緣Mongoid(從Git的主站),導軌(4.0.0.rc1)和Ruby(2.0.0-P0)
不應該是:inverse_of =>:用戶模型中的成員而不是成員? – 2013-05-22 07:55:47
哎呀沒有注意到。雖然它仍然是同樣的問題,但它沒有改變任何東西 – pmerino