2016-05-24 25 views
2

Ich versuche mit rails_admin_pundit rollenbasierten Zugriff zu Rails_admin hinzufügen.ArgumentError bei/Benutzer. - Rails 4 Rails_admin Pundit

Ich bekomme diesen Fehler, wenn ich auf die Benutzer-Tabelle in der Rails_admin klicke.

ArgumentError at /user. User(id: integer, email: string, ... 'shortened' ...role: integer) is not an ActiveRecord::Relation

habe ich eine App:
https://github.com/RailsApps/rails-devise-pundit

und befolgte die Anweisungen zum Gebrauch an:
https://github.com/sudosu/rails_admin_pundit

Das in meinem user_policy.rb ist, nur um die Dinge begonnen ...

def rails_admin?(action) 
    case action 
    when :destroy, :new 
     false 
    else 
     @current_user.admin! 
    end 
end 

Beigefügt sind ein paar Apps mit dem Fehler, und ein Screenshot von dem, was ich sehe, bevor ich den Users Model Name Link drücke.

app with the error..

error file and screenshot

another app with the same error

Nicht benötigt: Dropbox Link ... link to screenshot, error page, and two apps that I have this problem in...

  • ich Pandit bekommen außerhalb von rails_admin
  • Ich bin angemeldet zu arbeiten in als admin
  • Ich habe das Web für diesen Fehler oder ähnliche Probleme googled.

Kann mir jemand dabei helfen?

Antwort

1

Wenn wir den Code generieren wir haben:

class Scope < Scope 
    def resolve 
     scope 
    end 
    end 

Also, statt dass wir den Umfang

class Scope < Scope 
    def resolve  
    if @user.role.description == 'admin' 
     User.all 
    else 
     User.where(id: @user.id) 
    end 
    end 
end 
definieren müssen