2014-01-20 58 views

回答

2

fine manual

關係的父文件應使用has_many宏來表明具有ň引用的孩子,在這裏,引用的文檔使用belongs_to的數量。

class Band 
    include Mongoid::Document 
    has_many :members 
end 

class Member 
    include Mongoid::Document 
    field :name, type: String 
    belongs_to :band 
end 

[...]

# The parent band document. 
{ "_id" : ObjectId("4d3ed089fb60ab534684b7e9") } 

# The child member document. 
{ 
    "_id" : ObjectId("4d3ed089fb60ab534684b7f1"), 
    "band_id" : ObjectId("4d3ed089fb60ab534684b7e9") 
} 

注意到,代表belongs_to :band關係band_id的。所以說:

belongs_to :user 

隱含增加了field :user_idTemp。這意味着您可以簡單地:

validates_presence_of :user_id 

確保已給出:user_id。如果你想確保:user_id是有效的,那麼你可以:

validates_presence_of :user 

和驗證將確保temp.user(即User.find(temp.user_id))發現的東西。

+1

最後一部分正是我一直在尋找的! – Cenoc

相關問題