user
有很多diary_entries
diary_entries
对用户是私有的,因此用户可以创建/编辑/仅查看自己的diary_entries。
我之前没有实现过这种模式,并试图弄清楚如何做到这一点。
第一步是before_filter :authenticate_user!
,但这使得diary_entries
仍然是注册用户之间的“共享”资源。
在diary_entries#create
操作中,我们设置了@diary_entry.user = current_user
。然后,我们才允许在@diary_entry.user == current_user
。
索引操作只列出current_user.diary_entries
而不是所有日记条目。
我在这里思考正确的方向吗?有一个更好的方法吗?
答案 0 :(得分:3)
我建议使用CanCan来实现权限。这样可以很容易地限制用户访问自己的diary_entries。它也很容易使用。不要编写自己的代码来处理权限,否则如果存在任何错误,您将面临隐私和/或安全性损害的风险。