![](/img/trans.png)
[英]rails admin undefined method `new' for nil:NilClass error
[英]Rails admin and cancancan, undefined method `new' for nil:NilClass
我遵循了 cancancan wiki 中關於如何使用 cancancan 對 rails_admin 的管理員進行身份驗證的指南。 到目前為止它有效,但是當我嘗試使用具有管理員權限的帳戶訪問管理儀表板時,我遇到了錯誤
RailsAdmin::MainController#dashboard 中的 NoMethodError
未定義的方法 'new' 為 nil:NilClass
這是怎么回事,我該如何解決?
能力.rb
if user.admin?
can :manage, :all
can :access, :rails_admin # this line
can :dashboard, :all # and this one
elsif user.userrole?
can :read, Item
can :manage, User, :user_id=>user.id
else
can :read, Item
end
rails_admin.rb
config.authorize_with :cancancan2
規格:
導軌 5.1.5
坎坎坎 2.1.3
rails_admin 1.3.0
設計 4.4.3
rails_admin.rb
### Popular gems integration
## == Devise ==
config.authenticate_with do
warden.authenticate! scope: :user
end
config.current_user_method(&:current_user)
## == CancanCan ==
## 「cancan」 ng
## 「cancancan」 ok
config.authorize_with :cancancan
我可以通過在終端中重新安裝 admin_rails gem 來解決它
$ rails g rails_admin:install
然后我給他覆蓋 YES
我試圖修復它但無法修復,所以我選擇了 Pundit gem,它與 rails admin 一起工作得很好,他們還有一個帶有 rails admin 實現的 gem,你可以使用它。 點贊
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.