在rails 4.0.2应用程序上安装活动管理员时出现此错误。我正在使用rails-api,我需要这样的管理员来管理客户端以外的内容。
undefined method `layout' for ActiveAdmin::Devise::SessionsController:Class
我不确定这个错误。请帮忙。
答案 0 :(得分:1)
好的看起来已经通过在应用程序控制器上添加它来解决了。
include AbstractController::Layouts
答案 1 :(得分:1)
现在是ActionView::Layouts
答案 2 :(得分:0)
当使用rails-api(它现在已合并到rails 5中)时,ApplicationController
将继承自ActionController::API
而不是ActionController::Base
,而rails admin依赖于ActionController::Base
1}}和其他一些中间件。要使活动管理员使用rails api模式,您需要做一些额外的工作:
让ApplicationController
继承自ActionController::Base
class ApplicationController < ActionController::Base
像这样修改config/application.rb
class Application < Rails::Application
# ...
config.middleware.use ActionDispatch::Flash
config.middleware.use Rack::MethodOverride
config.middleware.use ActionDispatch::Cookies
end
参考文献:
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?