新しいアクションを表示するにはユーザーがログインする必要があるリソースがあります。ユーザーがログインせずに新しいリソースを作成しようとすると、ログイン ページにリダイレクト (302) されます。私の機能テストは次のようになります。
test "should not get new unless logged in" do
get :new
assert_response :redirect
end
スタックトレースは次のようになります。
ArgumentError: uncaught throw :warden
/.../gems/warden-1.1.1/lib/warden/proxy.rb:114:in `throw'
/.../gems/ruby-1.9.2-p318/gems/warden-1.1.1/lib/warden/proxy.rb:114:in `authenticate!'
/.../gems/ruby-1.9.2-p318/gems/devise-2.0.4/lib/devise/controllers/helpers.rb:48:in `authenticate_user!'
新しいアクションの前に、authenticate_user への before_filter があります。
なぜauthenticate_userなのか理解できました!失敗していますが、なぜエラーがスローされるのか理解できません。つまり、webapp と同じように動作するべきではありません。ユーザーをログインページにリダイレクトしますか?
ありがとう。