Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Strange DoubleRenderError in Rails 3

I'm trying the standard redirect_to some_path and return syntax but for some reason Rails 3 isn't liking this.

class MyController < ApplicationController
  def some_action
    redirect_to "http://www.google.com"
    return
  end
end

Gives me the standard error message:

Render and/or redirect were called multiple times in this action. Please note that you may only call render OR redirect, and at most once per action. Also note that neither redirect nor render terminate execution of the action, so if you want to exit an action after redirecting, you need to do something like "redirect_to(...) and return".

It references the exact line of my redirect_to "http://www.google.com" in the error. Can't figure out how this is possible!

I've commented out all before filters I can find, no difference.

This is Rails 3.0.0

like image 545
Brian Armstrong Avatar asked Feb 26 '23 08:02

Brian Armstrong


1 Answers

Oh man - finally figured it out.

Where I put some_action above I had actually named the method status. Apparently this is a reserved word or something in rails because it was calling it from somewhere else - hence the DoubleRender error.

Wow - that took me way longer to solve than it should have.

like image 161
Brian Armstrong Avatar answered Mar 11 '23 12:03

Brian Armstrong