rails_admin、cancanをインストールして、実装したあと、サーバーを再起動してlocalhost/adminで管理画面を見ようとすると、
ruby
1NoMethodError in RailsAdmin::MainController#dashboard 2 3undefined method `failure_app' for nil:NilClass 4 5Extracted source (around line #13): 6 7 app = env["warden.options"] && 8 (scope = env["warden.options"][:scope]) && 9 Devise.mappings[scope.to_sym].failure_app (ここに問題があるという印がでます) 10 11 app || Devise::FailureApp 12 end 13 14 15Rails.root: C:/Users/LS150/NR_app 16 17Application Trace | Framework Trace | Full Trace 18devise (4.7.1) lib/devise/delegator.rb:13:in `failure_app' 19devise (4.7.1) lib/devise/delegator.rb:7:in `call' 20warden (1.2.8) lib/warden/manager.rb:143:in `call_failure_app' 21warden (1.2.8) lib/warden/manager.rb:129:in `process_unauthenticated' 22warden (1.2.8) lib/warden/manager.rb:44:in `call' 23rack (2.0.7) lib/rack/tempfile_reaper.rb:15:in `call' 24rack (2.0.7) lib/rack/etag.rb:25:in `call' 25rack (2.0.7) lib/rack/conditional_get.rb:25:in `call'
どこに問題があるのでしょうか。すいません。お知恵を貸してください。
ruby
1# frozen_string_literal: true 2 3class Ability 4 include CanCan::Ability 5 6 def initialize(user) 7 if user.try(:admin?) 8 can :access, :rails_admin 9 can :manage, :all 10 end 11 end 12end 13 14
ruby
1RailsAdmin.config do |config| 2 3 ### Popular gems integration 4 5 ## == Devise == 6 7 config.authenticate_with do 8 warden.authenticate! scope: :user 9 end 10 config.current_user_method(&:current_user) 11 12 ## == Cancan == 13 config.authorize_with :cancan 14 15 ## == Pundit == 16 # config.authorize_with :pundit 17 18 config.actions do 19 dashboard # mandatory 20 index # mandatory 21 new 22 export 23 bulk_delete 24 show 25 edit 26 delete 27 show_in_app 28 29 end 30end 31 32
あなたの回答
tips
プレビュー