3

私は Devise を使用したい Rails Engine を持っています。このガイドに従って、通常どおりデバイスをインストールしました。

これを私のエンジンのdevise.rbに追加しました:

Devise.setup do |config|
  config.router_name = :cms_user
end

これをルートファイルに追加しました:

Cms::User::Engine.routes.draw do
  devise_for :users, {
    class_name: 'Cms::User',
    module: :devise
  }
end

これをルートに追加しました:

devise_for :users, {
  class_name: 'Cms::User',
  module: :devise
}

ただし、このエラーが発生し続けます:

undefined method 'cms_user'

私は何を間違っていますか?

4

1 に答える 1

5

方法は次のとおりです。

  1. Rails プラグイン 新しい cms --mountable -d postgresql

2: 通常のようにデバイスをインストールします

3: これをメイン アプリケーションのルート ファイルに追加します。

  devise_for :users, {
     class_name: 'Cms::User',
     module: :devise
   }

devise wiki で言及されているこの行は、私に問題を引き起こしました:

config.router_name = :Cms_user 

Wiki: https://github.com/plataformatec/devise/wiki/How-To:-Use-devise-inside-a-mountable-engine

于 2012-10-11T15:31:22.333 に答える