【问题标题】:Make item "Private" in rails在rails中使项目“私有”
【发布时间】:2013-04-21 22:03:29
【问题描述】:

应用属性:

Rails 3.2、Mongoid、Devise、Elasticsearch

基本结构:

  • 用户有一个帖子
  • 其他用户可以看到帖子

情况:

用户想要在一段时间内删除帖子,使其不被其他用户查看。

注意 最终,我想扩展此功能,以便所述用户能够使其仅对某些同事可见。这样他们就可以一起在帖子上进行协作。

问题: 我似乎想不出在 Rails 中这样做的好方法。我的一个想法是在 post 模型中创建一个布尔字段,这将允许我实现其中的一些,但 ACL 充其量是棘手和不稳定的。所以我正在寻求伟大的情报,这对你们中的一些人来说应该是小菜一碟。

【问题讨论】:

    标签: ruby-on-rails-3 model mongoid elasticsearch acl


    【解决方案1】:

    您建议的解决方案是我想到的解决方案。在 Post 模型上放置一个布尔标志 private,并修改用于获取帖子的代码以排除设置了标志的帖子,除非它们属于当前用户,(取决于私人帖子是否可以被其所有者在该特定上下文)。

    我实际上并没有使用过 Mongoid,但我相信这就像 Post.any_of({private: false}, {user_id: current_user.id}) 一样简单

    如果当您实现所讨论的协作功能时,您需要做的就是再次更改该代码 - 获取非私人帖子或属于给定用户组中的任何一个的帖子。

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 2016-11-12
      • 1970-01-01
      • 2011-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多