create action gives NoMethodError and nil.each

I have two actions, create and index. The index view has a list of find(:all) objects and also a form for creating new objects. If the form is valid upon creation, everything works (it is redirected to the index page with the new object listed). If validation fails, I get the error. My questions is, is it possible to do something like this?

Sometimes this happens when you have code like this:

def create   @foo = Foo.new(params[:foo])   if @foo.valid?     flash[:success] = 'Foo created.'     redirect_to :action => 'show', :id => @foo   else     render :action => 'new'   end end

If it works on a successful create but not on a render to 'new' then you are likely loading objects in the 'new' action that is not loaded in 'create'.

Example:

def new   @foo = Foo.new   @bars = Bar.find(:all) end

When you render the 'new' template from the create action you may need to reload the @bars (in this example).

Hope this helps.

That didn't even cross my mind! Makes perfect sense. Thanks!