【发布时间】:2014-03-23 17:23:13
【问题描述】:
在 rails 4.0.2 应用程序上安装活动管理员时遇到此错误。我正在使用 rails-api,我需要像这个管理员这样的东西来管理客户端以外的内容。
undefined method `layout' for ActiveAdmin::Devise::SessionsController:Class
我不确定这个错误。
【问题讨论】:
在 rails 4.0.2 应用程序上安装活动管理员时遇到此错误。我正在使用 rails-api,我需要像这个管理员这样的东西来管理客户端以外的内容。
undefined method `layout' for ActiveAdmin::Devise::SessionsController:Class
我不确定这个错误。
【问题讨论】:
好的,通过在应用程序控制器上添加这个似乎已经解决了。
include AbstractController::Layouts
【讨论】:
现在是ActionView::Layouts
【讨论】:
使用 rails-api 时(现在已合并到 rails 5),您的 ApplicationController 将继承自 ActionController::API 而不是 ActionController::Base,而 rails admin 依赖于 ActionController::Base 和其他一些中间件。要让 active admin 使用 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?
【讨论】: