0

我在我的 rails 应用程序中使用声明式授权,并且我有以下控制器:

class OrganizationsController < ApplicationController
  filter_resource_access attribute_check: true

  def index
    @organizations = Organization.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @organizations }
    end
  end
end

但是,当我尝试访问该操作的视图时,我 undefined method 'each' for nil:NilClass在尝试访问@organizations实例变量的行上收到错误消息。当我注释掉该filter_resource_access行时它起作用。

有什么想法吗?

4

2 回答 2

0

错误是因为您的实例变量是 Nil,这就是为什么它为 nil:NilClass 都说未定义的方法。filter 是一种在控制器之前或之后运行的方法,在这种情况下,我不确定该方法的含义,但它不会让您访问数据,直到控制器是我的猜测之后。

于 2013-02-19T03:32:22.967 回答
0

显然我忘记在我的 Gemfile 中包含 declarative_authorization gem。:耻辱:

现在一切正常。

于 2013-02-19T04:38:16.437 回答