(Yes, I really am THIS far behind in list reading. *sigh*)
AN@S wrote:> Hello,
> Here is the situation:
>
> I have a List action that lists items for me (scaffold generated), now
> I need to the destroy method to be ajaxed, I wrote the following:
>
> ################################
> <%=link_to_remote (''Destroy'',
> :update => "main",
> :url => {:action =>
''destroy'', :id =>
> @category},
> :confirm => ''Are you
sure?'',
> :post => true,
> :loading =>
>
"document.getElementById(''loading'').style.display=''inline''",
> :loaded =>
>
"document.getElementById(''loading'').style.display=''none''")%></td>
> #################################
>
An easier way to show your "loading" image is to use some of the
Prototype helpers:
:loading =>
"Element.show(''loading'')",> OK, everything''s going fine except that destroy method must -of
course-
> redirect the page to the list action:
>
>
> ##################################
> def destroy
> Category.find(params[:id]).destroy
> redirect_to :action => ''list''
> ###################################
>
> Now the problem is that layout is regenerated for the list action after
> the redirect so I get a doubled layout with the page. I may not except
> the list method from the layout because it will not show the page
> layout when listing items.
>
> I have searched the rails documentation and found this:
> render :action => "list", :layout => false
>
> But this didn''t work, it caused an error.
>
> Do you suggest some other solution?
>
>
It looks like you''re kind of mixing AJAX and non-AJAX techniques here.
Your link_to_remote is expecting HTML which will replace your "main"
element. Rather than re-direct to your list method you can instead use
render to generate the HTML for "main". If your "list"
method is simple
you can just duplicate the "list" method ending with "render
:action =>
''list'', :layout => false". (The ":layout =>
false" will prevent the
layout from being duplicated inside your "main" section.)
If the "list" method is longer you can extract the common code into a
method that both destroy and list call before each method does it''s
render action.
Hope that helps,
David
--~--~---------~--~----~------------~-------~--~----~
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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---