我第一次在我的 Rails 4 项目中使用 Devise,我试图弄清楚如何将模型的所有权锁定给某些用户。
例如,如果用户创建了一个模型,只有该用户应该能够对其执行以下操作,
- 列出属于用户的所有模型
- 看法
- 编辑
- 更新
- 删除
因此,基本上所有的 crud 操作都应仅限于拥有该模型的用户。
您将如何以 DRY 惯用的方式实施所有权?似乎我可以在控制器中进行检查以查看用户是否拥有当前对象,但是如果该对象被另一个控制器使用或用作嵌套更新的一部分,我必须重新实现逻辑,但它没有模型访问当前用户似乎是正确的。