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