認証にDeviseを使用しているレガシーRails 3.2アプリがあります。以前は、Devise はそれの SessionController にデフォルトのアプリケーション レイアウトを使用しており、すべてのアプリのコントローラーは明示的に宣言されてlayout "public"
いました。パブリック レイアウトをapplication.haml
に、以前のアプリケーション レイアウトをに変更することにしましたdevise.haml
。Devise::SessionsController
が正しいレイアウトを使用するようにするために、これをapplication.rb
ファイルに追加しました。
config.to_prepare do
Devise::SessionsController.layout "devise"
end
ただし、これを追加すると、ApplicationHelper で定義されたビュー ヘルパーにアクセスできないため、統合テストが失敗し始めます。このようにコントローラーのレイアウトを変更すると、ApplicationHelper メソッドを使用できなくなるのはなぜですか? また、これを修正するにはどうすればよいですか?