2

私のアプリでは、カスタム戦略を定義しようとしていますが、いくつかのエラーがスローされます...これが私がしていることです:

# myrailsapp/lib/devise/strategies
require 'devise/strategies/database_authenticatable'

module Devise
  module Strategies
    class CustomAuth < Devise::Strategies::DatabaseAuthenticatable
      def valid?
        Rails.logger.info("\n\nIn CustomAuth.valid\n\n")
        true
      end
      def authenticate!
        Rails.logger.info("\n\nCalled My Authenticate!\n\n")
        super
      end
    end
  end
end

Warden::Strategies.add(:custom_auth, Devise::Strategies::CustomAuth)

# config/initializer.rb
config.warden do |manager|
  # manager.strategies.add(:custom_auth, Devise::Strategies::CustomAuth)
  manager.default_strategies(:scope => :user).unshift :custom_auth
end

これを実行しようとすると、次のエラーが発生します。

/usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:490:inconst_missing'from/usr/lib/ruby/gems/1.8/gems/activesupport-3.1 load_missing_constant': Expected app/helpers/custom_auth.rb to define CustomAuth (LoadError) from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:181:in。 1 /lib/active_support/dependencies.rb:179:in each' from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:179:inconst_missing'from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:501:in load_missing_constant' from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:181:inconst_missing' from / usr / lib / ruby​​ / gems / 1.8 / gems / activesupport-3.1.1 / lib / active_support /属し方.rb:179:in each' from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:179:inconst_missing'from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1 /lib/active_support/dependencies.rb:501:in load_missing_constant' from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:181:inconst_missing'from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:179:in each' from /usr/lib/ruby/gems/1.8/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:179:inconst_missing' from / home /rjain/src/qbol/tapp/config/initializers/devise.rb:212

これで、同じファイルをapp / helpersディレクトリに移動すると、同じエラーが発生しますが、モジュールDeviseとモジュールStrategiesを削除すると、動作が開始されます。2つの質問:

  1. lib / devise /strategiesフォルダーにファイルを作成できるようにするにはどうすればよいですか?
  2. 上記のようにDevise::Strategiesモジュール内で使用できるように機能させる方法は?
4

0 に答える 0