0

我使用設計作爲用戶管理系統和計劃使用CanCan更高級的權限設置。複雜的mongoid軌道模型協會

我想建立一個地區性的討論板,我有follwing車型

  • 用戶模型
  • 城市模型
  • 通話模式

每個註冊用戶都可以創建一個城市,那麼會給出一個臨時編輯權限,但是管理員控制着一切,並且可以撤銷創建城市的權限。至於Talk模式,用戶只能使用ajax創建或刪除消息。

E.g. http://localhost:3000/nyc/ ==>列出所有通話信息

http://localhost:3000/nyc/new ==>創建通話消息

我如何能與通過mongoid所有這些關係? 而我該如何設置routes.rb文件?

回答

1

你可以用你的城市之間添加關聯和這樣說:

Class City 
    include Mongoid::Document 

    has_many :talks 
end 

class Talk 

    include Mongoid:Document 

    belongs_to :city 
end 

查看有關mongoid關係的文檔:http://mongoid.org/docs/relations.html

+0

首先,感謝你回答我的問題,你可以告訴我如何將用戶模型與這兩種模型聯繫起來?我想問的是用戶模型是否可以同時擁有多個城市和會談。 – 2012-03-07 10:58:09

+0

您可以通過'用戶'的'belongs_to'' has_many'鏈接到'Talk'或'City'。但取決於你想要做什麼類型或要求以及如何實現它。 MongoDB沒有連接系統。所以你需要收集1個請求,你必須得到信息。如果您將用戶鏈接到城市包含一些對話,您需要做3個請求來全面討論您的用戶。你可以把談話與用戶聯繫起來。但是你需要自己維護這個列表。比其他更多的是驗證。 – shingara 2012-03-07 11:16:31