Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Undefined method `helper_method' for RailsAdmin::ApplicationController #2688

Closed
mingyeow opened this issue Aug 13, 2016 · 5 comments
Closed

Comments

@mingyeow
Copy link

Hi, when i am starting rails admin for the first time, i am getting this error.

I have installed and used rails admin before (w different base configurations), so i am puzzled about why this might occur.

I am using Docker, although that does not seem to be the main problem here.

# FROM GEMFILE
source 'https://rubygems.org'
ruby '2.3.1'
gem 'rails', '~> 5.0.0'
gem 'pg', '~> 0.18'
gem 'puma', '~> 3.0'

gem 'remotipart', github: 'mshibuya/remotipart'
gem 'rails_admin', '>= 1.0.0.rc'
# ERROR CALLSTACK 
app_1       | => Booting Puma
app_1       | => Rails 5.0.0 application starting in development on http://0.0.0.0:3000
app_1       | => Run `rails server -h` for more startup options
app_1       | [11] Puma starting in cluster mode...
app_1       | [11] * Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
app_1       | [11] * Min threads: 5, max threads: 5
app_1       | [11] * Environment: development
app_1       | [11] * Process workers: 2
app_1       | [11] * Phased restart available
app_1       | [11] * Listening on tcp://0.0.0.0:3000
app_1       | [11] Use Ctrl-C to stop
app_1       | [11] - Worker 0 (pid: 21) booted, phase: 0
app_1       | [11] - Worker 1 (pid: 32) booted, phase: 0
app_1       | Started GET "/admin" for 172.17.0.1 at 2016-08-13 23:38:14 +0000
app_1       |   ActiveRecord::SchemaMigration Load (0.9ms)  SELECT "schema_migrations".* FROM "schema_migrations"
app_1       |   
app_1       | ActionController::RoutingError (undefined method `helper_method' for RailsAdmin::ApplicationController:Class):
app_1       |   
app_1       | rails_admin (1.0.0.rccontrollers) rails_admin/application_controller.rb:18:in `<class:ApplicationController>'
app_1       | rails_admin (1.0.0.rccontrollers) rails_admin/application_controller.rb:13:in `<module:RailsAdmin>'
app_1       | rails_admin (1.0.0.rccontrollers) rails_admin/application_controller.rb:3:in `<top (required)>'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:477:in `load'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:477:in `block in load_file'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:662:in `new_constants_in'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:476:in `load_file'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:375:in `block in require_or_load'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:37:in `block in load_interlock'
app_1       | activesupport (5.0.0) lib/active_support/dependencies/interlock.rb:12:in `block in loading'
app_1       | activesupport (5.0.0) lib/active_support/concurrency/share_lock.rb:117:in `exclusive'
app_1       | activesupport (5.0.0) lib/active_support/dependencies/interlock.rb:11:in `loading'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:37:in `load_interlock'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:358:in `require_or_load'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:511:in `load_missing_constant'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:203:in `const_missing'
app_1       | rails_admin (1.0.0.rccontrollers) rails_admin/main_controller.rb:2:in `<module:RailsAdmin>'
app_1       | rails_admin (1.0.0.rccontrollers) rails_admin/main_controller.rb:1:in `<top (required)>'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:477:in `load'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:477:in `block in load_file'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:662:in `new_constants_in'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:476:in `load_file'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:375:in `block in require_or_load'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:37:in `block in load_interlock'
app_1       | activesupport (5.0.0) lib/active_support/dependencies/interlock.rb:12:in `block in loading'
app_1       | activesupport (5.0.0) lib/active_support/concurrency/share_lock.rb:117:in `exclusive'
app_1       | activesupport (5.0.0) lib/active_support/dependencies/interlock.rb:11:in `loading'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:37:in `load_interlock'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:358:in `require_or_load'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:511:in `load_missing_constant'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:203:in `const_missing'
app_1       | activesupport (5.0.0) lib/active_support/inflector/methods.rb:270:in `const_get'
app_1       | activesupport (5.0.0) lib/active_support/inflector/methods.rb:270:in `block in constantize'
app_1       | activesupport (5.0.0) lib/active_support/inflector/methods.rb:266:in `each'
app_1       | activesupport (5.0.0) lib/active_support/inflector/methods.rb:266:in `inject'
app_1       | activesupport (5.0.0) lib/active_support/inflector/methods.rb:266:in `constantize'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:583:in `get'
app_1       | activesupport (5.0.0) lib/active_support/dependencies.rb:614:in `constantize'
app_1       | actionpack (5.0.0) lib/action_dispatch/http/request.rb:93:in `controller_class'
app_1       | actionpack (5.0.0) lib/action_dispatch/routing/route_set.rb:44:in `controller'
app_1       | actionpack (5.0.0) lib/action_dispatch/routing/route_set.rb:30:in `serve'
app_1       | actionpack (5.0.0) lib/action_dispatch/journey/router.rb:39:in `block in serve'
app_1       | actionpack (5.0.0) lib/action_dispatch/journey/router.rb:26:in `each'
app_1       | actionpack (5.0.0) lib/action_dispatch/journey/router.rb:26:in `serve'
app_1       | actionpack (5.0.0) lib/action_dispatch/routing/route_set.rb:725:in `call'
app_1       | railties (5.0.0) lib/rails/engine.rb:522:in `call'
app_1       | railties (5.0.0) lib/rails/railtie.rb:193:in `public_send'
app_1       | railties (5.0.0) lib/rails/railtie.rb:193:in `method_missing'
app_1       | actionpack (5.0.0) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
app_1       | actionpack (5.0.0) lib/action_dispatch/routing/mapper.rb:46:in `serve'
app_1       | actionpack (5.0.0) lib/action_dispatch/journey/router.rb:39:in `block in serve'
app_1       | actionpack (5.0.0) lib/action_dispatch/journey/router.rb:26:in `each'
app_1       | actionpack (5.0.0) lib/action_dispatch/journey/router.rb:26:in `serve'
app_1       | actionpack (5.0.0) lib/action_dispatch/routing/route_set.rb:725:in `call'
app_1       | rack-pjax (1.0.0) lib/rack/pjax.rb:12:in `call'
app_1       | /bundle/bundler/gems/remotipart-88d9a7d55bde/lib/remotipart/middleware.rb:32:in `call'
app_1       | rack (2.0.1) lib/rack/etag.rb:25:in `call'
app_1       | rack (2.0.1) lib/rack/conditional_get.rb:25:in `call'
app_1       | rack (2.0.1) lib/rack/head.rb:12:in `call'
app_1       | activerecord (5.0.0) lib/active_record/migration.rb:552:in `call'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/callbacks.rb:38:in `block in call'
app_1       | activesupport (5.0.0) lib/active_support/callbacks.rb:97:in `__run_callbacks__'
app_1       | activesupport (5.0.0) lib/active_support/callbacks.rb:750:in `_run_call_callbacks'
app_1       | activesupport (5.0.0) lib/active_support/callbacks.rb:90:in `run_callbacks'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/callbacks.rb:36:in `call'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/executor.rb:12:in `call'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
app_1       | railties (5.0.0) lib/rails/rack/logger.rb:36:in `call_app'
app_1       | railties (5.0.0) lib/rails/rack/logger.rb:24:in `block in call'
app_1       | activesupport (5.0.0) lib/active_support/tagged_logging.rb:70:in `block in tagged'
app_1       | activesupport (5.0.0) lib/active_support/tagged_logging.rb:26:in `tagged'
app_1       | activesupport (5.0.0) lib/active_support/tagged_logging.rb:70:in `tagged'
app_1       | railties (5.0.0) lib/rails/rack/logger.rb:24:in `call'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/request_id.rb:24:in `call'
app_1       | rack (2.0.1) lib/rack/runtime.rb:22:in `call'
app_1       | activesupport (5.0.0) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/executor.rb:12:in `call'
app_1       | actionpack (5.0.0) lib/action_dispatch/middleware/static.rb:136:in `call'
app_1       | rack (2.0.1) lib/rack/sendfile.rb:111:in `call'
app_1       | railties (5.0.0) lib/rails/engine.rb:522:in `call'
app_1       | puma (3.6.0) lib/puma/configuration.rb:225:in `call'
app_1       | puma (3.6.0) lib/puma/server.rb:578:in `handle_request'
app_1       | puma (3.6.0) lib/puma/server.rb:415:in `process_client'
app_1       | puma (3.6.0) lib/puma/server.rb:275:in `block in run'
app_1       | puma (3.6.0) lib/puma/thread_pool.rb:116:in `block in spawn_thread'


@mshibuya
Copy link
Member

Now RailsAdmin master should work out-of-box with Rails 5 API mode.
Thanks for reporting!

@mingyeow
Copy link
Author

hi @mshibuya thanks for the great work! i redid the gem install - but i do not see the updates. Is the gem spec going to be updated, or do i need to specify the gem file differently from:
gem 'rails_admin', '>= 1.0.0.rc'

@SuperMasterBlasterLaser
Copy link
Contributor

@mingyeow You should write in your gemfile something like this:

gem 'rails_admin', github: 'sferik/rails_admin'

New bugfixes does not appear in rubygems. It will be updated when new release version appears.

@mingyeow
Copy link
Author

@mshibuya @SuperMasterBlasterLaser thank you so much! appreciate it.

I am getting this error when trying to edit/delete anything. does this have anything to do wih the above changes?

Thank you so much for doing all the great work!

{ status: 404, error: "Not Found", exception: "#<ActionController::RoutingError: No route matches [POST] "/admin/user/11/edit">", traces: { Application Trace: [ ], Framework Trace: [ { id: 0, trace: "actionpack (5.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:53:incall'"
},
{
id: 1,
trace: "actionpack (5.0.0) lib/action_dispatch/middleware/show_exceptions.rb:31:in call'" }, { id: 2, trace: "railties (5.0.0) lib/rails/rack/logger.rb:36:incall_app'"
},
{
id: 3,
trace: "railties (5.0.0) lib/rails/rack/logger.rb:24:in block in call'" }, { id: 4, trace: "activesupport (5.0.0) lib/active_support/tagged_logging.rb:70:inblock in tagged'"
},
{
id: 5,
trace: "activesupport (5.0.0) lib/active_support/tagged_logging.rb:26:in tagged'" }, { id: 6, trace: "activesupport (5.0.0) lib/active_support/tagged_logging.rb:70:intagged'"
},
{
id: 7,
trace: "railties (5.0.0) lib/rails/rack/logger.rb:24:in call'" }, { id: 8, trace: "actionpack (5.0.0) lib/action_dispatch/middleware/request_id.rb:24:incall'"
},
{
id: 9,
trace: "rack (2.0.1) lib/rack/runtime.rb:22:in call'" }, { id: 10, trace: "activesupport (5.0.0) lib/active_support/cache/strategy/local_cache_middleware.rb:28:incall'"
},
{
id: 11,
trace: "actionpack (5.0.0) lib/action_dispatch/middleware/executor.rb:12:in call'" }, { id: 12, trace: "actionpack (5.0.0) lib/action_dispatch/middleware/static.rb:136:incall'"
},
{
id: 13,
trace: "rack (2.0.1) lib/rack/sendfile.rb:111:in call'" }, { id: 14, trace: "railties (5.0.0) lib/rails/engine.rb:522:incall'"
},
{
id: 15,
trace: "puma (3.6.0) lib/puma/configuration.rb:225:in call'" }, { id: 16, trace: "puma (3.6.0) lib/puma/server.rb:578:inhandle_request'"
},
{
id: 17,
trace: "puma (3.6.0) lib/puma/server.rb:415:in process_client'" }, { id: 18, trace: "puma (3.6.0) lib/puma/server.rb:275:inblock in run'"
},
{
id: 19,
trace: "puma (3.6.0) lib/puma/thread_pool.rb:116:in block in spawn_thread'" } ], Full Trace: [ { id: 0, trace: "actionpack (5.0.0) lib/action_dispatch/middleware/debug_exceptions.rb:53:incall'"
},
{
id: 1,
trace: "actionpack (5.0.0) lib/action_dispatch/middleware/show_exceptions.rb:31:in call'" }, { id: 2, trace: "railties (5.0.0) lib/rails/rack/logger.rb:36:incall_app'"
},
{
id: 3,
trace: "railties (5.0.0) lib/rails/rack/logger.rb:24:in block in call'" }, { id: 4, trace: "activesupport (5.0.0) lib/active_support/tagged_logging.rb:70:inblock in tagged'"
},
{
id: 5,
trace: "activesupport (5.0.0) lib/active_support/tagged_logging.rb:26:in tagged'" }, { id: 6, trace: "activesupport (5.0.0) lib/active_support/tagged_logging.rb:70:intagged'"
},
{
id: 7,
trace: "railties (5.0.0) lib/rails/rack/logger.rb:24:in call'" }, { id: 8, trace: "actionpack (5.0.0) lib/action_dispatch/middleware/request_id.rb:24:incall'"
},
{
id: 9,
trace: "rack (2.0.1) lib/rack/runtime.rb:22:in call'" }, { id: 10, trace: "activesupport (5.0.0) lib/active_support/cache/strategy/local_cache_middleware.rb:28:incall'"
},
{
id: 11,
trace: "actionpack (5.0.0) lib/action_dispatch/middleware/executor.rb:12:in call'" }, { id: 12, trace: "actionpack (5.0.0) lib/action_dispatch/middleware/static.rb:136:incall'"
},
{
id: 13,
trace: "rack (2.0.1) lib/rack/sendfile.rb:111:in call'" }, { id: 14, trace: "railties (5.0.0) lib/rails/engine.rb:522:incall'"
},
{
id: 15,
trace: "puma (3.6.0) lib/puma/configuration.rb:225:in call'" }, { id: 16, trace: "puma (3.6.0) lib/puma/server.rb:578:inhandle_request'"
},
{
id: 17,
trace: "puma (3.6.0) lib/puma/server.rb:415:in process_client'" }, { id: 18, trace: "puma (3.6.0) lib/puma/server.rb:275:inblock in run'"
},
{
id: 19,
trace: "puma (3.6.0) lib/puma/thread_pool.rb:116:in block in spawn_thread'" } ] } }

@saravanabalagi
Copy link

You need to add config.middleware.use Rack::MethodOverride in application.rb for rails-5-api.
And everything will work like charm :)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants