如何让用户只能使用 Devise 编辑/查看属于他们的项目?我似乎无法弄清楚。我研究并发现了一些关于在我的 list Controller 索引中设置 current_user 和创建方法以及将关系放入我的用户模型和 list 模型中的内容。我正在创建一个 list ,用户可以在其中创建标题和名称以及向该 list 添加项目,因此我也有一个项目模型。我读过康康舞,但不太确定这是否是我要找的。我只想在用户登录创建 list 时能够拥有它,该 list 只属于他们,所以当他们注销时,它不会显示他们创建的任何 list 。当他们重新登录时,将显示创建的 list 。我知道这是相当简单的事情,但无法确定任务。谁能帮忙。我在这个项目上使用 Rails 4。谢谢!
最佳答案
权限有两个主要方面。身份验证和授权。
Devise 提供身份验证,基本上就是“这个用户就是这个人”。它通过登录验证这一点。
类似cancan 的图书馆有助于提供授权,即“允许此用户执行此操作”。您可以使用 cancan 来 Define an ability with a block做类似的事情:
can :read, Item, Item.all do |item|
item.owner == current_user
end
关于ruby-on-rails - 如何使用户只能使用 Devise 编辑/查看属于他们的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17433546/