管理インターフェイスを別の 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。
device_forのドキュメント。