【发布时间】:2011-09-17 15:04:02
【问题描述】:
我们在 CREATE 和 UPDATE 的声明式身份验证中遇到错误。我们不确定为什么,因为在错误中它显示没有用户通过身份验证并且会话以某种方式丢失:
`Authorization::NotAuthorized in CartypesController#update
没有为#(角色 [:guest]、特权 [:update]、上下文 :cartypes)找到匹配的更新规则。 `
“后台”角色在 authentication_controller.rb:has_permission_on :cartypes, :to => [:index, :show, :new, :create, :edit, :update, :destroy, :delete] 中拥有权限
在stackoverflow中也有类似的问题:Link to Stackoverflow Question
我们是 Rails 新手,第一次尝试,其他显示和列表工作正常..(GET 操作)
任何帮助表示赞赏...谢谢。
编辑:我们能够解决这个问题,因为在讨论模型安全性时,我们发现关于“声明性授权”的文档不是很清楚!如果您仔细阅读,在使用模型安全性时,需要将:## Heading ##Authorization.current_user 设置为请求的用户(在 application_controller.rb 中)。对于 rails-n00bs 可能不太清楚...
【问题讨论】:
-
您能否将评论中的信息添加到问题本身?您能否添加以下信息:您添加的 gem(用于声明式身份验证?),对路由文件的更改。
标签: ruby-on-rails declarative-authorization