The code of an action is executed before it's rendered, so your redirect is cutting off the action before anything is sent to the user. You might be able to get away with it by calling render_action before redirecting. Though I'm not sure what you mean to accomplish, but it seems like there must be a better way than continuous forced reloading.