1

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 ActionControllerrequire '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'そこにも何かが欠けていることがはっきりとわかります。

ここからどこへ行くべきかわかりませんが、助けていただければ幸いです。

4

0 に答える 0