Rails 2.3 と Devise 1.0.11 を使用しています。私はRailsを初めて使用するため、明らかな間違いがある場合はご容赦ください。
User モデルは、Rails の外部のフォルダー (「Common」という名前) で定義され、さまざまなコンポーネント間で共有されます。Rails はその 1 つです。次のように User モデルにデバイス モジュールを含めました。
class User < ActiverRecord::Base
devise :database_authenticable, :recoverable, :rememberable, :trackable
attr_accessible :email, :password, :password_confirmation
end
Rails アプリから、Devise は正常に動作します。
問題は、Common フォルダーから rspec テストを実行しようとすると、undefined method 'devise'
. この質問からこの回答を既に試しましたが、うまくいきませんでした。私は得る。そして、私が得たとき。Rails環境から何かが必要だと思いますが、正確にはわかりません。uninitialized constant ActionController
require 'action_controller'
uninitialized constant Rails
また、 devise を Common から呼び出す必要がまったくないように、devise_extension.rb
ファイルを介して devise モジュールを含めようとしました。config/initializers
class User
devise :database_authenticable, :recoverable, :rememberable, :trackable
end
:password
ビューを呼び出すまで、これはトリックを行うように見えますが、undefined method 'password'
そこにも何かが欠けていることがはっきりとわかります。
ここからどこへ行くべきかわかりませんが、助けていただければ幸いです。