我在Ruby on Rails 3.1上使用Declarative_Authorization很多天都遇到了问题。 我将它添加到每个控制器的顶部:
class UsersController < ApplicationController
# Verifies that the user is connected and/or authorized to access the methods
filter_access_to :all, :attribute_check => true
(...)
end
它允许我在我的authorization_rules.rb
:
has_permission_on [:albums], :to => [:adding] do
if_attribute :group => { :user => is { user } }
end
但是当我添加:attribute_check => true
时,我收到此错误:
Couldn't find {Model} without an ID
我完全迷失了,我开始使用这个宝石。
答案 0 :(得分:0)
您的用户变量可能为null,因此请找出错误原因为
答案 1 :(得分:0)
我发现了这个技巧,只需将它添加到控制器的顶部:
class Group
before_filter :set_group
(...)
protected
def set_group
@group = Group.find_by_slug(params[:slug])
end
end