Hi.
My issue is similar to the one in this post:
http://groups.google.com/group/rspec/browse_thread/thread/973d770e45bdd6cd/8ba067476003f08f?lnk=gst&q=render+controller+should_receive#8ba067476003f08f
(which, btw, I could not reply to...only option was "Reply to Author")
where I have a RESTful controller. I want create to redirect/render
the new action if the model fails to save with the supplied form
values. Pretty basic and typical stuff.
In Rails, if I use
redirect_to(new_my_model_path)
then the entered values along with the error_messages on the object
are lost and I can''t re-fill the form or list the errors. If I use
render :action => "new"
then I keep all the request data and can use it to fill in form, etc.
In my spec, if I use
controller.should_receive(:render).with({:action=>"new"})
I get an expectation error that render is never called. This is true
if I remove the .with() as well.
If y''all could let me know either 1) Why my redirect_to vs render
argument is flawed and/or 2) What I am doing wrong in the spec, I''d
appreciate it.
Thanks,
Ruprict
David Chelimsky
2010-Jul-20 11:41 UTC
[rspec-users] controller.should_receive(:render) problem
On Jul 12, 2010, at 4:18 AM, Ruprict wrote:> Hi. > > My issue is similar to the one in this post: > http://groups.google.com/group/rspec/browse_thread/thread/973d770e45bdd6cd/8ba067476003f08f?lnk=gst&q=render+controller+should_receive#8ba067476003f08f > > (which, btw, I could not reply to...only option was "Reply to Author") > where I have a RESTful controller. I want create to redirect/render > the new action if the model fails to save with the supplied form > values. Pretty basic and typical stuff. > > In Rails, if I use > > redirect_to(new_my_model_path) > > then the entered values along with the error_messages on the object > are lost and I can''t re-fill the form or list the errors. If I use > > render :action => "new" > > then I keep all the request data and can use it to fill in form, etc. > > In my spec, if I use > > controller.should_receive(:render).with({:action=>"new"}) > > I get an expectation error that render is never called. This is true > if I remove the .with() as well. > > If y''all could let me know either 1) Why my redirect_to vs render > argument is flawed and/or 2) What I am doing wrong in the spec, I''d > appreciate it.Please post the code in the failing spec and the new action, along with the backtrace of the error you''re getting. Thx, David> > Thanks, > Ruprict