認証にDeviseを使用するRailsアプリの簡単なマクロを生成しようとしています。基本的に、ユーザーが認証を必要とするページにアクセスしたときに、ログインページにリダイレクトされるようにしたいのです。だからこのようなもの:
it_requires_authentication_for :index, :new, :create, :update
ここでの望ましい結果は明らかです。ただし、私の問題は、各アクションを適切なhttpメソッド(:get、:postなど)にマップするための最良の方法を考えることができないことです。
私はこれから始めました:
def it_should_require_authentication_for(*actions)
actions.each do |action|
it "should require authentication for #{action}" do
get action.to_sym
response.should redirect_to( new_user_session_path )
end
end
end
もちろん、どちらが取得するだけです。誰かが私がすべてのアクションにこのマクロを提供する方法を教えてもらえますか?アクションが特定のメソッドに対して適切にルーティングされるかどうかを何らかの方法でテストする必要があると思いますが、実際にはよくわかりません。
どんな助けでも大歓迎です。