Friday, January 30, 2009

Re: newb question: autoRendering a view, even if I specify autoRender=false!

Dr. Loboto,
Thanks; makes sense about autoRender=false. I removed it.

here's what the message displays when debug is on:
___
"Missing View
Error: The view for ReviewsController::deleteSection() was not found.

Error: Confirm you have created the file: /Library/WebServer/Documents/
spr4/app/views/elements/reviews/create/40.ctp

Notice: If you want to customize this error message, create app/views/
errors/missing_view.ctp"
-----
what I am doing is displaying a view (spr4/app/views/elements/reviews/
create/) on a specific record id (40)
I'm then clicking on a link to delete a line item from that view,
which fires the ajax script, and then the action called deleteSection.
I pass in the section ID to be deleted (187 in this case), and the
delete is completed successfully.
I then want to refresh the original view, without showing the item
that was just deleted. That is the point at which I receive this
message.

Thanks for any help!


On Jan 30, 3:49 am, "Dr. Loboto" <drLob...@gmail.com> wrote:
> 1. Turn debug ON and read complete error messages.
> 2. autoRender needs to be false ONLY if you do not render anything at
> this action. As you call $this->render() explicitly, you should not
> touch $this->autoRender.
> 3. It is unclear what do you want to achieve. In normal flow render
> occurs just after action. In your case too.
>
> On Jan 30, 5:44 am, mark <markman...@gmail.com> wrote:
>
> > Basic question, hopefully with a simple answer. I've got a view that I
> > *do* want to re-render after an ajax delete. The delete works properly
> > and the view attempts to re-render, but instead displays the dreaded
> > "requested address was not found" message (basically acting as if it's
> > trying to render a page automatically). This is odd because I specify
> > autoRender=false. It seems like that is not working properly
> > Here's the controller:
> > I'm passing values to the controller appropriately(confirmed
> > already): /reviews/deleteSection/40/187
>
> >         function deleteSection($id = null, $sectionID = null)
> >         {
> >                 $this->Section->del($sectionID);
> >                 $this->autoRender=false;
> >                 $this->layout = 'ajax';
> >                 $this->render("../elements/reviews/create/".$id);
> >         }
> > The create/40 view attempts to reload, but then I get the message:
> >  "Not Found
> >   Error: The requested address '/reviews/deleteSection/40/187' was not
> > found on this server."
>
> > I thought I understood about rendering, but maybe I'm missing
> > something. Can anyone help? Thanks in advance! I'm still learning!

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to cake-php+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

No comments: