ruby - ActiveAdmin with Rails 5 API mode -
i'm trying activeadmin working rails 5 api mode. there's several articles this, , pretty same thing.
first, make application controller extend actioncontroller::base instead of actioncontroller::api
class applicationcontroller < actioncontroller::base include devisetokenauth::concerns::setuserbytoken end then create apicontroller, every other controller extends from:
class apicontroller < actioncontroller::api end add middelware:
config.middleware.use rack::methodoverride config.middleware.use actiondispatch::flash config.middleware.use actiondispatch::cookies config.middleware.use actiondispatch::session::cookiestore then add gems (i'm using devise_token_auth instead of devise)
gem 'devise', '> 4.x' gem 'activeadmin', github: 'activeadmin' gem 'inherited_resources', git: 'https://github.com/activeadmin/inherited_resources' and run bin/rails g active_admin:install. goes wrong:
invoke active_record create db/migrate/20170821114552_devise_create_admin_users.rb create app/models/admin_user.rb invoke rspec create spec/models/admin_user_spec.rb invoke factory_girl create spec/factories/admin_users.rb insert app/models/admin_user.rb route devise_for :admin_users gsub app/models/admin_user.rb gsub config/routes.rb append db/seeds.rb create config/initializers/active_admin.rb exist app/admin create app/admin/dashboard.rb create app/admin/admin_user.rb insert config/routes.rb generate active_admin:assets /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/railtie/configuration.rb:95:in `method_missing': undefined method `assets' #<rails::application::configuration:0x00000003fc9740> did mean? asset_host (nomethoderror) /home/blop/.rvm/gems/ruby-2.4.0/gems/activeadmin-1.1.0/lib/active_admin/engine.rb:5:in `block (2 levels) in <class:engine>' /home/blop/.rvm/gems/ruby-2.4.0/gems/activeadmin-1.1.0/lib/active_admin/engine.rb:4:in `each' /home/blop/.rvm/gems/ruby-2.4.0/gems/activeadmin-1.1.0/lib/active_admin/engine.rb:4:in `block in <class:engine>' /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/initializable.rb:30:in `instance_exec' /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/initializable.rb:30:in `run' /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/initializable.rb:59:in `block in run_initializers' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `each' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `call' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each' /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/initializable.rb:58:in `run_initializers' /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/application.rb:353:in `initialize!' /home/blop/development/railsapp/config/environment.rb:5:in `<top (required)>' /home/blop/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `require' /home/blop/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `block in require' /home/blop/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:258:in `load_dependency' /home/blop/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `require' /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:102:in `preload' /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:153:in `serve' /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run' /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop' /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `run' /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' -e:1:in `<main>' create db/migrate/20170821114605_create_active_admin_comments.rb
why use rails api if need full rails? rails api designed rid off unnecessary staff, such views, cookies, sessions, etc. staff mandatory activeadmin. don't benefits using rails api in such configuration.
so, me there 2 options:
- don't use rails api.
- create 2 separate applications (api , admin) 2 different gemfiles , shared models. in wake of convenience can store both apps in same repository.
Comments
Post a Comment