1

我有一个带有 2 个模型的 Rails 5 应用程序:User&Application 用户可以通过应用程序模型应用到另一个用户

当用户 1 到用户 2 创建应用程序时,两个用户都可以在他们的Application#index视图中看到它。

每个用户都可以删除一个应用程序,但这不得影响所涉及的第二个用户的可见性。

例子 :

  • 用户 1 申请用户 2
  • 用户 1 和用户 2 拥有应用程序内部Application#index视图
  • 用户 1 软删除应用程序
  • 用户 1 看不到应用程序Application#index
  • 用户 2 仍然可以在Application#index

处理这种情况的最正确方法是什么?

  • 创建 2 列sender_deleted&并用 date +为索引receiver_deleted填充它们scope {sender_deleted: nil }
  • 在 Application 中为每个用户创建一个条目,然后只检索每个用户的条目?
  • 另一种方式 ?

第二种方式似乎是正确的,但表中唯一不同的信息是删除日期,所以它似乎有点多余。

请注意,我在我的其他模型中使用 Paranoia gem 进行常规软删除,这在第一种解决方案中是不可能的,但在第二种解决方案中是可能的,因为只需要一列来将用户定义为已删除。

4

0 回答 0