Rails 4.0.2应用程序上的活动管理员错误

时间:2014-03-23 17:23:14

标签: ruby-on-rails activeadmin

在rails 4.0.2应用程序上安装活动管理员时出现此错误。我正在使用rails-api,我需要这样的管理员来管理客户端以外的内容。

undefined method `layout' for ActiveAdmin::Devise::SessionsController:Class

我不确定这个错误。请帮忙。

3 个答案:

答案 0 :(得分:1)

好的看起来已经通过在应用程序控制器上添加它来解决了。

include AbstractController::Layouts

答案 1 :(得分:1)

现在是ActionView::Layouts

请参阅https://github.com/rails/rails/issues/14517

答案 2 :(得分:0)

当使用rails-api(它现在已合并到rails 5中)时,ApplicationController将继承自ActionController::API而不是ActionController::Base,而rails admin依赖于ActionController::Base 1}}和其他一些中间件。要使活动管理员使用rails api模式,您需要做一些额外的工作:

  1. ApplicationController继承自ActionController::Base

    class ApplicationController < ActionController::Base
    
  2. 像这样修改config/application.rb

    class Application < Rails::Application
      # ...
      config.middleware.use ActionDispatch::Flash
      config.middleware.use Rack::MethodOverride
      config.middleware.use ActionDispatch::Cookies
    end
    
  3. 参考文献:
     1. https://rrott.com/blog/ror/rails-5-api-with-activeadmin-integration.html
     2. What is the difference between a regular Rails app and a Rails API?