如何解决授予 cancan 自动创建能力是否意味着可以访问新操作?
我有一个 cancan 能力,它说用户可以 create
a Message
,如果它是他们的
can [:create],[Message] do |message|
message.user_id == user.id && message.conversation.sender_id == user.id
end
这按预期工作,但令人惊讶的是,此 rspec 测试用户是否可以访问消息的 new
操作失败:
it 'A user should not be able to access their own message new action' do
expect(ability).to_not be_able_to(:new,message)
end
因此用户可以访问new
操作以处理他们的消息。为什么是这样?对 create
操作的访问是否以某种方式也意味着对 new
的访问?还是我在某处误解或犯了错误?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。