2017-08-21 1 views
0

Rails 5 APIモードで動作するactiveadminを取得しようとしています。これについては、いくつかのarticlesがあります。それらはすべて同じことを言っています。ActiveAdminとRails 5 APIモード

まず、そして他のすべてのコントローラから延びApiController、作成アプリケーションコントローラはActionController::Base代わりにActionController::API

class ApplicationController < ActionController::Base 
    include DeviseTokenAuth::Concerns::SetUserByToken 
end 

から延在する:middelware追加

class ApiController < ActionController::API 

end 

config.middleware.use Rack::MethodOverride 
config.middleware.use ActionDispatch::Flash 
config.middleware.use ActionDispatch::Cookies 
config.middleware.use ActionDispatch::Session::CookieStore 

次に宝石を追加する(私はdeviseの代わりにdevise_token_authを使用しています)

gem 'devise', '> 4.x' 
gem 'activeadmin', github: 'activeadmin' 
gem 'inherited_resources', git: 'https://github.com/activeadmin/inherited_resources' 

そしてbin/rails g active_admin:installを実行してください。これはすべてがうまくいかないところです:

 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' for #<Rails::Application::Configuration:0x00000003fc9740> 
Did you mean? asset_host (NoMethodError) 
     from /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>' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/activeadmin-1.1.0/lib/active_admin/engine.rb:4:in `each' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/activeadmin-1.1.0/lib/active_admin/engine.rb:4:in `block in <class:Engine>' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/initializable.rb:30:in `instance_exec' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/initializable.rb:30:in `run' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/initializable.rb:59:in `block in run_initializers' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each' 
     from /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' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `each' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `call' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/initializable.rb:58:in `run_initializers' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/railties-5.1.3/lib/rails/application.rb:353:in `initialize!' 
     from /home/blop/Development/railsapp/config/environment.rb:5:in `<top (required)>' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `require' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `block in require' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:258:in `load_dependency' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/activesupport-5.1.3/lib/active_support/dependencies.rb:292:in `require' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:102:in `preload' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:153:in `serve' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:141:in `block in run' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `loop' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application.rb:135:in `run' 
     from /home/blop/.rvm/gems/ruby-2.4.0/gems/spring-2.0.2/lib/spring/application/boot.rb:19:in `<top (required)>' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
     from /home/blop/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
     from -e:1:in `<main>' 
     create db/migrate/20170821114605_create_active_admin_comments.rb 

答えて

0

本当に完全なRailsが必要な場合、なぜRails APIを使用しますか? Rails APIは、ビュー、クッキー、セッションなどの不要なスタッフを排除するように設計されています。そのスタッフはすべてActiveAdminにとって必須です。このような設定でRails APIを使用することによるメリットはありません。

  1. RailsのAPIを使用しないでください:

    そうで、私のために2つのオプションがあります。

  2. 2つの異なるGemfilesと共有モデルを持つ2つのアプリケーション(APIとAdmin)を作成します。利便性を考えて、両方のアプリケーションを同じリポジトリに保存することができます。
+0

ActiveAdminは近い将来取り除きたい一時的な解決策です – blop

関連する問題