railsadminteam / rails_admin

RailsAdmin is a Rails engine that provides an easy-to-use interface for managing your data
MIT License
7.87k stars 2.25k forks source link

undefined method `pjax' for #<RailsAdmin::Config::Actions::Dropzone:0x000055802fe78e98> (NoMethodError) #3582

Closed Sankalp-Dwivedi closed 1 year ago

Sankalp-Dwivedi commented 1 year ago

I tried updating to rails 7 but struck on this. rails - 7.0.4 ruby - 3.2.0 gem 'rails_admin', '~> 3.0'

undefined method 'pjax' for #<RailsAdmin::Config::Actions::Dropzone:0x000055802fe78e98> (NoMethodError)

1815

Reproduction steps

Added sprockets-rails to gem also for webpacker as it now optional in rails 7

Here full stach trace

undefined methodpjax' for # (NoMethodError)

        pjax { false }
        ^^^^
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.1/lib/rails_admin/config/actions.rb:98:in `instance_eval'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.1/lib/rails_admin/config/actions.rb:98:in `add_action_custom_key'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.1/lib/rails_admin/config/actions.rb:74:in `dropzone'
from /home/sankalp/Desktop/workspace/tool/config/initializers/rails_admin.rb:5865:in `block (2 levels) in <top (required)>'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.1/lib/rails_admin/config.rb:295:in `instance_eval'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.1/lib/rails_admin/config.rb:295:in `actions'
from /home/sankalp/Desktop/workspace/tool/config/initializers/rails_admin.rb:5851:in `block in <top (required)>'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.1/lib/rails_admin.rb:35:in `block in config'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.1/lib/rails_admin/config/const_load_suppressor.rb:15:in `suppressing'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rails_admin-3.1.1/lib/rails_admin.rb:35:in `config'
from /home/sankalp/Desktop/workspace/tool/config/initializers/rails_admin.rb:2:in `<top (required)>'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/engine.rb:667:in `load'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/engine.rb:667:in `block in load_config_initializer'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/activesupport-7.0.4/lib/active_support/notifications.rb:208:in `instrument'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/engine.rb:666:in `load_config_initializer'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/engine.rb:620:in `block (2 levels) in <class:Engine>'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/engine.rb:619:in `each'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/engine.rb:619:in `block in <class:Engine>'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/initializable.rb:32:in `instance_exec'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/initializable.rb:32:in `run'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/initializable.rb:61:in `block in run_initializers'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:228:in `block in tsort_each'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:431:in `each_strongly_connected_component_from'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:421:in `block in each_strongly_connected_component_from'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/initializable.rb:50:in `each'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/initializable.rb:50:in `tsort_each_child'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:415:in `call'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:415:in `each_strongly_connected_component_from'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:349:in `block in each_strongly_connected_component'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:347:in `each'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:347:in `call'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:347:in `each_strongly_connected_component'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:226:in `tsort_each'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/3.2.0/tsort.rb:205:in `tsort_each'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/initializable.rb:60:in `run_initializers'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/application.rb:372:in `initialize!'
from /home/sankalp/Desktop/workspace/tool/config/environment.rb:5:in `<top (required)>'
from config.ru:3:in `require_relative'
from config.ru:3:in `block in <main>'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rack-2.2.5/lib/rack/builder.rb:116:in `eval'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rack-2.2.5/lib/rack/builder.rb:116:in `new_from_string'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rack-2.2.5/lib/rack/builder.rb:105:in `load_file'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rack-2.2.5/lib/rack/builder.rb:66:in `parse_file'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rack-2.2.5/lib/rack/server.rb:349:in `build_app_and_options_from_config'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rack-2.2.5/lib/rack/server.rb:249:in `app'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/rack-2.2.5/lib/rack/server.rb:422:in `wrapped_app'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/commands/server/server_command.rb:76:in `log_to_stdout'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/commands/server/server_command.rb:36:in `start'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/commands/server/server_command.rb:143:in `block in perform'
from <internal:kernel>:90:in `tap'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/commands/server/server_command.rb:134:in `perform'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/command/base.rb:87:in `perform'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/command.rb:48:in `invoke'
from /home/sankalp/.rbenv/versions/3.2.0/lib/ruby/gems/3.2.0/gems/railties-7.0.4/lib/rails/commands.rb:18:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'`

My rails_admin.rb looks like this `RailsAdmin.config do |config| config.asset_source = :webpacker

config.main_app_name = Proc.new {
    ["AIO Admin", "(#{Time.zone.formatted_offset})"]
}

require Rails.root.join('lib', 'deepclone.rb')
require Rails.root.join('lib', 'hide.rb')
require Rails.root.join('lib', 'confirmationemail.rb')
require Rails.root.join('lib', 'confirmationupdateemail.rb')
require Rails.root.join('lib', 'eventreminder.rb')
require Rails.root.join('lib', 'postergallerycontactemail.rb')
require Rails.root.join('lib', 'rails_admin_email.rb')
require Rails.root.join('lib', 'mailchimp.rb')
require Rails.root.join('lib', 'rails_admin_dropzone.rb')

I18n.locale = :en

## == Devise ==
config.authenticate_with do
 warden.authenticate! scope: :user
end
 config.current_user_method(&:current_user)

## == Cancan ==
 config.authorize_with :cancancan

# config.parent_controller = ApplicationController.to_s
config.parent_controller = '::ApplicationController'`
mshibuya commented 1 year ago

Use the bug report issue template. Especially omitting the full stack trace is very bad idea.

mshibuya commented 1 year ago

Pjax was removed in https://github.com/railsadminteam/rails_admin/pull/3435. You can remove that pjax { false } line from your config/initializers/rails_admin.rb.