这似乎是一个简单的任务,但我很难找出“轨道”的方式来做到这一点。我应该如何验证对Active Record对象的访问?
我使用Authlogic来验证用户,并且每个用户has_many:博客,:图片等。我不知道该怎么做是限制用户A的博客的访问(显示/更新/编辑/删除)只是给用户A.
看来我有三个选择。
- 条件(USER_ID == current_user.id)添加到我所有的查找语句
- 使用的before_filter来完成上述
- 使用default_scope追加该认证条件(但我认为这将当我去写测试时会很痛苦)。
其他人发现是最好的方法来解决这个问题?
作为一个额外的问题,假设这是一个用户has_many:博客,博客has_many:部分和部分has_many:图像的情况。在这种情况下,属于博客的所有元素都必须限制为用户A,但只有博客具有user_id列。将相同的认证条件附加到章节和图像上的最有效/优雅的方式是什么?
谢谢, 迈克
真棒建议。康康看起来很完美。非常感谢! – CambridgeMike 2011-03-28 22:46:31