deviseを用いているときデバッグ用に他のユーザーになりたいとき

Ruby on Railsの認証システムにdeviseを使っているのだけど、デバッグ用に一時的に他のユーザーになりたい。どうするか?

sign_in @user

で任意のユーザになれる。

たとえば、switch_userというアクションを用意し、別のユーザーになり変わるときusers_controller.rbに以下を加える。そうすると、params[:id]のユーザーIDを持つユーザーとしてshowが表示される。

 def switch_user
    @user = User.find(params[:id])
    sign_in @user
    render(:action => 'show')
  end