2013-04-28 64 views
1

應用屬性:製作項目 「私人」 在軌

的Rails 3.2,Mongoid,設計,Elasticsearch

基本結構:

  • 用戶有一個帖子
  • 後可略見一斑其他用戶

情況:

用戶想要刪除帖子,使其他用戶可以查看一段時間。

最後,我想延長這種能力,以便其可以將所述用戶能夠使它只可見於某些同事。這樣他們可以一起在帖子上合作。

問題: 我似乎無法想到在rails中做這件事的好方法。我想到的一個想法是在後期模型中創建一個布爾型字段,這將允許我實現其中的一部分,但ACL最多隻會出現棘手和不穩定的情況。所以我正在接觸這個偉大的智慧,這對你們中的一些人來說應該是一塊蛋糕。

回答

0

您建議的解決方案是對我而言的解決方案。在Post模型上放置一個布爾型標誌private,並修改您用於獲取Posts的代碼,以排除標誌設置的代碼,除非它們屬於當前用戶(取決於專用文章是否可由其所有者在特定上下文中查看) 。

我還沒有實際使用Mongoid工作,但我認爲這很簡單,只要Post.any_of({private: false}, {user_id: current_user.id})

如果當你實現你討論協作功能,所有你需要做的就是再次更改代碼 - 獲取職位這些內容不是私有的,或者屬於給定用戶集合中的任何一個。