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 に答える