1

我想在单独的 Rails 引擎中提取我的管理界面。为管理员用户添加设计支持对我来说不太有效。这是引擎代码:

管理员用户模型:

AppEditorial::Admin

发动机路线:

  devise_for :admins, :controllers => {
    sessions: "app_editorial/devise/sessions",
    registrations: "app_editorial/devise/registrations",
    confirmations: "app_editorial/devise/confirmations",
    class_name: "AppEditorial::Admin",
    module: :devise
  }

这会引发错误:

/../inflector/methods.rb:229:in `block in constantize': uninitialized constant Admin (NameError)

这是有道理的,因为模型被命名为AppEditorial::Admin。添加 *class_name* 选项也不起作用。

作为起点,我找到了本教程:Use-devise-inside-a-mountable-engine

devise_for的文档。

4

1 回答 1

4

霍普拉 明显错误:

它应该是:

  devise_for :admins, {
    controllers: {
      sessions: "app_editorial/devise/sessions",
      registrations: "app_editorial/devise/registrations",
      confirmations: "app_editorial/devise/confirmations",
    },
    class_name: "AppEditorial::Admin",
    module: :devise
  }

跛脚:)

于 2012-06-09T10:30:08.870 回答