when a user clicks on a link_to_remote I would like to it to render a view that i already have established. I know about page.redirect_to but that would force a refresh. Id like to do something like page.replace "an_existing_view" is this possible or would i have to convert the view into a partial first?
on 2009-03-03 13:29
on 2009-03-03 14:03
On 3 Mar 2009, at 12:29, Adam Akhtar wrote: > > when a user clicks on a link_to_remote I would like to it to render a > view that i already have established. I know about page.redirect_to > but > that would force a refresh. Id like to do something like page.replace > "an_existing_view" > is this possible or would i have to convert the view into a partial > first? You can replace any element on the page (so I suppose you could do an update on the body element, although I've never done that. It is most common to have a partial for exactly that bit of the page that needs refreshing (if you're using ajax to refresh the entire page then it seems to me like you might as well keep it simple and just do a non ajax update) but you shouldn't have to do that. Fred
on 2009-03-03 14:26
thanks fred, what im doing is pertty much like gmail. I have links on my side nav equivalent to gmails "inbox" and "starred". When i click on inbox in gmail it renders the list of emails in my inbox without a refresh. Teh same with all "starred" etc. Id like that functionality. So i guess id have to extract that area of the screen into a partial and call it via a page.replace_html "the_partial" and for standard html responses just render the same partial in the actions view? right???
on 2009-03-03 14:51
On 3 Mar 2009, at 13:26, Adam Akhtar wrote: > responses just render the same partial in the actions view? right??? Yes. If you're just updating that one page element you don't even need replace_html, just do link_to_remote 'blah', :update => 'some_id', ... and have the corresponding controller render some (html) partial in the normal way, the results of the render will be used to update the page element with that id Fred