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

device_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 に答える