> But if you look at the sample code, I did try to call the "Create" 
> method as well as rendering its template
No you didnt. render :action => :create is identical to render :template 
=> 'mycontroller/create'. You might as well comment out the create 
action, its not getting called at all in your current code.


Im gonna suggest that you create one controller action for each step 
instead of trying to combine several steos into one action. To keep 
track of the object inbetween the requests you can store it in session.

def new
  @stuff = session[:stuff] || Stuff.new
  # session[:stuff] is used when the user clicks 'back' on the confirm 
page
end

def confirm
  session[:stuff] = @stuff = Stuff.new(params[:stuff])
end

def create
  session[:stuff].save
  session[:stuff] = nil
end


The way Im using sessions here isnt 100% by the book. Generally you dont 
want to store entire objects in session. One of the main reasons is that 
session objects can become incompatible with the code when you change 
something. The best way would be to actually store the temporary object 
in the database and then only store its ID in session. You can mark the 
temporary object as temporary with a boolean flag or have an entire 
table dedicated to temporary objects. The code above should be enough to 
get you started though.
-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to