I have this div in my application.rhtml file: <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></div> When I go to another view I am doing this: def turin2000 render :update do |page| page[:shelfcards].replace_html :partial => ''turin2000'' end end I get this for an output: try { $("shelfcards").update("<fieldset style=''width: 400px;''> \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' >OC-48</ div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div id=''oc3'' \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass=\''card \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</div> \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\\n\ \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\\n\ \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\\n</ fieldset> \\t\\t\");''); throw e } If I put this partial inside the div manually it works fine. What causes this? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
On 24 Feb 2009, at 18:14, Me wrote:> > I have this div in my application.rhtml file: > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></div> > > When I go to another view I am doing this: > > def turin2000 > render :update do |page| > page[:shelfcards].replace_html :partial => ''turin2000'' > end > end >What does the think making the ajax request look like ? Fred> I get this for an output: > > try { > $("shelfcards").update("<fieldset style=''width: 400px;''> > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' >OC-48</ > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div id=''oc3'' > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass=\''card > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > div> > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\\n\ > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\\n\ > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\\n</ > fieldset> \\t\\t\");''); throw e } > > If I put this partial inside the div manually it works fine. > > What causes this? > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Not an ajax call. Does it only work for an ajax call? On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung < frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > On 24 Feb 2009, at 18:14, Me wrote: > > > > > I have this div in my application.rhtml file: > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></div> > > > > When I go to another view I am doing this: > > > > def turin2000 > > render :update do |page| > > page[:shelfcards].replace_html :partial => > ''turin2000'' > > end > > end > > > > What does the think making the ajax request look like ? > > Fred > > I get this for an output: > > > > try { > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' >OC-48</ > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div id=''oc3'' > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass=\''card > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > div> > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\\n\ > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\\n\ > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\\n</ > > fieldset> \\t\\t\");''); throw e } > > > > If I put this partial inside the div manually it works fine. > > > > What causes this? > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
All I am trying to do is to put a different partial in place of the the once that is already there. Not an ajax call to the function. On Feb 24, 12:32 pm, Chris Habgood <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Not an ajax call. Does it only work for an ajax call? > > On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung < > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > On 24 Feb 2009, at 18:14, Me wrote: > > > > I have this div in my application.rhtml file: > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></div> > > > > When I go to another view I am doing this: > > > > def turin2000 > > > render :update do |page| > > > page[:shelfcards].replace_html :partial => > > ''turin2000'' > > > end > > > end > > > What does the think making the ajax request look like ? > > > Fred > > > I get this for an output: > > > > try { > > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' >OC-48</ > > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div id=''oc3'' > > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass=\''card > > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > > div> > > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\\n\ > > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\\n\ > > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\\n</ > > > fieldset> \\t\\t\");''); throw e } > > > > If I put this partial inside the div manually it works fine. > > > > What causes this? > >--~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Is there an error in the log at all for your current implementation? On Feb 24, 12:02 pm, Me <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> All I am trying to do is to put a different partial in place of the > the once that is already there. Not an ajax call to the function. > > On Feb 24, 12:32 pm, Chris Habgood <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > Not an ajax call. Does it only work for an ajax call? > > > On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung < > > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > On 24 Feb 2009, at 18:14, Me wrote: > > > > > I have this div in my application.rhtml file: > > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></div> > > > > > When I go to another view I am doing this: > > > > > def turin2000 > > > > render :update do |page| > > > > page[:shelfcards].replace_html :partial => > > > ''turin2000'' > > > > end > > > > end > > > > What does the think making the ajax request look like ? > > > > Fred > > > > I get this for an output: > > > > > try { > > > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' >OC-48</ > > > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div id=''oc3'' > > > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass=\''card > > > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > > > div> > > > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\\n\ > > > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\\n\ > > > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\\n</ > > > > fieldset> \\t\\t\");''); throw e } > > > > > If I put this partial inside the div manually it works fine. > > > > > What causes this?--~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Well the previous TRY error filled the screen. On Tue, Feb 24, 2009 at 2:54 PM, Eric <ericghill-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > Is there an error in the log at all for your current implementation? > > On Feb 24, 12:02 pm, Me <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > All I am trying to do is to put a different partial in place of the > > the once that is already there. Not an ajax call to the function. > > > > On Feb 24, 12:32 pm, Chris Habgood <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > Not an ajax call. Does it only work for an ajax call? > > > > > On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung < > > > > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > On 24 Feb 2009, at 18:14, Me wrote: > > > > > > > I have this div in my application.rhtml file: > > > > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' > %></div> > > > > > > > When I go to another view I am doing this: > > > > > > > def turin2000 > > > > > render :update do |page| > > > > > page[:shelfcards].replace_html :partial => > > > > ''turin2000'' > > > > > end > > > > > end > > > > > > What does the think making the ajax request look like ? > > > > > > Fred > > > > > I get this for an output: > > > > > > > try { > > > > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > > > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > > > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' > >OC-48</ > > > > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div > id=''oc3'' > > > > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > > > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > > > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > > > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > > > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > > > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > > > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > > > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > > > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' > \\t\\tclass=\''card > > > > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > > > > div> > > > > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br > />\\n\ > > > > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br > />\\n\ > > > > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > > > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > > > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br > />\\n</ > > > > > fieldset> \\t\\t\");''); throw e } > > > > > > > If I put this partial inside the div manually it works fine. > > > > > > > What causes this? > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
On 24 Feb 2009, at 18:32, Chris Habgood wrote:> Not an ajax call. Does it only work for an ajax call?Yes. if you use render :update it returns some javascript. The prototype (and jquery etc.) libraries know to execute that javascript, but just a generic browser page load doesn''t If you want to replace a page fragment you have to use an ajax request (although you don''t have to use render :update): if you have link_to_remote ''Click me'', :update => ''some_id'', :url => {:action => ''foo''} and then def foo render ... end Then the results of that render will get stuck in the page element with id some_id. You only need the render :update / rjs mechanism to update multiple things on the page. Fred> > > On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung <frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > wrote: > > > On 24 Feb 2009, at 18:14, Me wrote: > > > > > I have this div in my application.rhtml file: > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></ > div> > > > > When I go to another view I am doing this: > > > > def turin2000 > > render :update do |page| > > page[:shelfcards].replace_html :partial => > ''turin2000'' > > end > > end > > > > What does the think making the ajax request look like ? > > Fred > > I get this for an output: > > > > try { > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' > >OC-48</ > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div > id=''oc3'' > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass= > \''card > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > div> > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\ > \n\ > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\ > \n\ > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\ > \n</ > > fieldset> \\t\\t\");''); throw e } > > > > If I put this partial inside the div manually it works fine. > > > > What causes this? > > > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
Well the "page fragment" is a div with a partial in it. I need to be able to make a regular call and update the div with the partial. I have a select box used to go to a page. I need to be able to change out what is in the div. <%= select(:node, :id, $shelves,{:prompt =>''Select Equipment''},{ :onchange => "document.location.href = ''/buildshelf/'' + this.value "} ) %> This div: <div id="shelfcards"> </div> has the partial for the cards in the shelf. On Tue, Feb 24, 2009 at 4:32 PM, Frederick Cheung < frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > On 24 Feb 2009, at 18:32, Chris Habgood wrote: > > > Not an ajax call. Does it only work for an ajax call? > > Yes. if you use render :update it returns some javascript. The > prototype (and jquery etc.) libraries know to execute that javascript, > but just a generic browser page load doesn''t > > If you want to replace a page fragment you have to use an ajax request > (although you don''t have to use render :update): > > if you have link_to_remote ''Click me'', :update => ''some_id'', :url => > {:action => ''foo''} > > and then > > def foo > render ... > end > > Then the results of that render will get stuck in the page element > with id some_id. You only need the render :update / rjs mechanism to > update multiple things on the page. > > Fred > > > > > > > > On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung < > frederick.cheung-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > > wrote: > > > > > > On 24 Feb 2009, at 18:14, Me wrote: > > > > > > > > I have this div in my application.rhtml file: > > > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></ > > div> > > > > > > When I go to another view I am doing this: > > > > > > def turin2000 > > > render :update do |page| > > > page[:shelfcards].replace_html :partial => > > ''turin2000'' > > > end > > > end > > > > > > > What does the think making the ajax request look like ? > > > > Fred > > > I get this for an output: > > > > > > try { > > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' > > >OC-48</ > > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div > > id=''oc3'' > > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass> > \''card > > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > > div> > > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\ > > \n\ > > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\ > > \n\ > > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\ > > \n</ > > > fieldset> \\t\\t\");''); throw e } > > > > > > If I put this partial inside the div manually it works fine. > > > > > > What causes this? > > > > > > > > > > > > > > > > > > > > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
I am baffled because in the view I do this: $(''shelfcards'').update(<%= render :partial => ''turin2000'' %>); Gives me nothing in the div. On Feb 24, 4:40 pm, Chris Habgood <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Well the "page fragment" is a div with a partial in it. I need to be able > to make a regular call and update the div with the partial. I have a select > box used to go to a page. I need to be able to change out what is in the > div. > > <%= select(:node, :id, $shelves,{:prompt =>''Select Equipment''},{ :onchange > => "document.location.href = ''/buildshelf/'' + this.value "} ) %> > > This div: > <div id="shelfcards"> </div> > > has the partial for the cards in the shelf. > > On Tue, Feb 24, 2009 at 4:32 PM, Frederick Cheung < > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > On 24 Feb 2009, at 18:32, Chris Habgood wrote: > > > > Not an ajax call. Does it only work for an ajax call? > > > Yes. if you use render :update it returns some javascript. The > > prototype (and jquery etc.) libraries know to execute that javascript, > > but just a generic browser page load doesn''t > > > If you want to replace a page fragment you have to use an ajax request > > (although you don''t have to use render :update): > > > if you have link_to_remote ''Click me'', :update => ''some_id'', :url => > > {:action => ''foo''} > > > and then > > > def foo > > render ... > > end > > > Then the results of that render will get stuck in the page element > > with id some_id. You only need the render :update / rjs mechanism to > > update multiple things on the page. > > > Fred > > > > On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung < > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > > > wrote: > > > > On 24 Feb 2009, at 18:14, Me wrote: > > > > > I have this div in my application.rhtml file: > > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></ > > > div> > > > > > When I go to another view I am doing this: > > > > > def turin2000 > > > > render :update do |page| > > > > page[:shelfcards].replace_html :partial => > > > ''turin2000'' > > > > end > > > > end > > > > What does the think making the ajax request look like ? > > > > Fred > > > > I get this for an output: > > > > > try { > > > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' > > > >OC-48</ > > > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div > > > id=''oc3'' > > > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass> > > \''card > > > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > > > div> > > > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\ > > > \n\ > > > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\ > > > \n\ > > > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\ > > > \n</ > > > > fieldset> \\t\\t\");''); throw e } > > > > > If I put this partial inside the div manually it works fine. > > > > > What causes this? > >--~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On Feb 24, 10:49 pm, Me <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> I am baffled because in the view I do this: > > $(''shelfcards'').update(<%= render :partial => ''turin2000'' %>); > > Gives me nothing in the div. >Think about what actually ends up in the page: $(''shelfcards'').update(<fieldset>....</fieldset>) Clearly that isn''t legal javascript because you''ve just dumped in a chunk of html, whereas you need a string containing html $(''shelfcards'').update(''<%= render :partial => ''turin2000'' %>''); would be a start, but would also be invalid if what you rendered contained a '' Fred --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Do note, that this is not really ajax. The point of ajax, and more importantly the use of rendering a partial is that when you make the request you are not reloading the entire page, but rather using javascript to send a request to the server in the background while the existing page doesn''t reload. Using the javascript document.location.href call makes a full page load (regular html page request). To implement this instead with ajax you might instead have the select element inside a form, which you would post to a controller action (you can send the form using the onchange option for the select tag). The reason for this is because the partial contains only part of a valid html page as Fred mentioned, using this method the controller action responding to the call, can then respond with something like page.replace_html :partial => "my_partial", which is some javascript telling the page that send the request to replace part of it''s old html with the new version (sent as a string inside the javascript). Doing it this way will get teh ajax request working correctly (a true ajax call, with an rjs or render(:update) controller response). It''s either that or return an entire html page with fresh contents on the page called by ''/buildshelf/'' + this.value " Cheers, Jeremy On Feb 25, 11:40 am, Chris Habgood <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Well the "page fragment" is a div with a partial in it. I need to be able > to make a regular call and update the div with the partial. I have a select > box used to go to a page. I need to be able to change out what is in the > div. > > <%= select(:node, :id, $shelves,{:prompt =>''Select Equipment''},{ :onchange > => "document.location.href = ''/buildshelf/'' + this.value "} ) %> > > This div: > <div id="shelfcards"> </div> > > has the partial for the cards in the shelf. > > On Tue, Feb 24, 2009 at 4:32 PM, Frederick Cheung < > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > On 24 Feb 2009, at 18:32, Chris Habgood wrote: > > > > Not an ajax call. Does it only work for an ajax call? > > > Yes. if you use render :update it returns some javascript. The > > prototype (and jquery etc.) libraries know to execute that javascript, > > but just a generic browser page load doesn''t > > > If you want to replace a page fragment you have to use an ajax request > > (although you don''t have to use render :update): > > > if you have link_to_remote ''Click me'', :update => ''some_id'', :url => > > {:action => ''foo''} > > > and then > > > def foo > > render ... > > end > > > Then the results of that render will get stuck in the page element > > with id some_id. You only need the render :update / rjs mechanism to > > update multiple things on the page. > > > Fred > > > > On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung < > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > > > wrote: > > > > On 24 Feb 2009, at 18:14, Me wrote: > > > > > I have this div in my application.rhtml file: > > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></ > > > div> > > > > > When I go to another view I am doing this: > > > > > def turin2000 > > > > render :update do |page| > > > > page[:shelfcards].replace_html :partial => > > > ''turin2000'' > > > > end > > > > end > > > > What does the think making the ajax request look like ? > > > > Fred > > > > I get this for an output: > > > > > try { > > > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' > > > >OC-48</ > > > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div > > > id=''oc3'' > > > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass> > > \''card > > > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > > > div> > > > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\ > > > \n\ > > > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\ > > > \n\ > > > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\ > > > \n</ > > > > fieldset> \\t\\t\");''); throw e } > > > > > If I put this partial inside the div manually it works fine. > > > > > What causes this?--~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ya, I am not doing an ajax call because it is not really needed. I can possibly have new equipment and that would require more maintenance to tell the ajax call where to go for that piece of eqpt. The way I am doing would just require an array entry and a controller action. Anyway, I got it to work by doing this in the view: $(''shelfcards'').innerHTML = (<%= render :partial => ''turin2000'' %>); On Wed, Feb 25, 2009 at 6:21 AM, Jeremy Olliver <jeremy.olliver-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>wrote:> > Do note, that this is not really ajax. The point of ajax, and more > importantly the use of rendering a partial is that when you make the > request you are not reloading the entire page, but rather using > javascript to send a request to the server in the background while the > existing page doesn''t reload. Using the javascript > document.location.href call makes a full page load (regular html page > request). To implement this instead with ajax you might instead have > the select element inside a form, which you would post to a controller > action (you can send the form using the onchange option for the select > tag). > > The reason for this is because the partial contains only part of a > valid html page as Fred mentioned, using this method the controller > action responding to the call, can then respond with something like > page.replace_html :partial => "my_partial", which is some javascript > telling the page that send the request to replace part of it''s old > html with the new version (sent as a string inside the javascript). > Doing it this way will get teh ajax request working correctly (a true > ajax call, with an rjs or render(:update) controller response). It''s > either that or return an entire html page with fresh contents on the > page called by ''/buildshelf/'' + this.value " > > Cheers, > Jeremy > > On Feb 25, 11:40 am, Chris Habgood <chabg...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > Well the "page fragment" is a div with a partial in it. I need to be > able > > to make a regular call and update the div with the partial. I have a > select > > box used to go to a page. I need to be able to change out what is in the > > div. > > > > <%= select(:node, :id, $shelves,{:prompt =>''Select Equipment''},{ > :onchange > > => "document.location.href = ''/buildshelf/'' + this.value "} ) %> > > > > This div: > > <div id="shelfcards"> </div> > > > > has the partial for the cards in the shelf. > > > > On Tue, Feb 24, 2009 at 4:32 PM, Frederick Cheung < > > > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > On 24 Feb 2009, at 18:32, Chris Habgood wrote: > > > > > > Not an ajax call. Does it only work for an ajax call? > > > > > Yes. if you use render :update it returns some javascript. The > > > prototype (and jquery etc.) libraries know to execute that javascript, > > > but just a generic browser page load doesn''t > > > > > If you want to replace a page fragment you have to use an ajax request > > > (although you don''t have to use render :update): > > > > > if you have link_to_remote ''Click me'', :update => ''some_id'', :url => > > > {:action => ''foo''} > > > > > and then > > > > > def foo > > > render ... > > > end > > > > > Then the results of that render will get stuck in the page element > > > with id some_id. You only need the render :update / rjs mechanism to > > > update multiple things on the page. > > > > > Fred > > > > > > On Tue, Feb 24, 2009 at 12:31 PM, Frederick Cheung < > > > frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > > > > wrote: > > > > > > On 24 Feb 2009, at 18:14, Me wrote: > > > > > > > I have this div in my application.rhtml file: > > > > > > > <div id="shelfcards"> <%= render :partial => ''ericssoncards'' %></ > > > > div> > > > > > > > When I go to another view I am doing this: > > > > > > > def turin2000 > > > > > render :update do |page| > > > > > page[:shelfcards].replace_html :partial => > > > > ''turin2000'' > > > > > end > > > > > end > > > > > > What does the think making the ajax request look like ? > > > > > > Fred > > > > > I get this for an output: > > > > > > > try { > > > > > $("shelfcards").update("<fieldset style=''width: 400px;''> > > > > > \n<legend>Select your card type</legend>\n\n\t<div id=''oc192'' > > > > > class=''card'' >OC-192</div>\n\t<div id=''oc48'' \t\tclass=''card'' > > > > >OC-48</ > > > > > div>\n\t<div id=''oc12'' \t\tclass=''card'' >OC-12</div>\n\t<div > > > > id=''oc3'' > > > > > \t\tclass=''card'' >OC-3</div><br /><br />\n\t<div id=''28pds1'' > > > > > \tclass=''card'' >28P DS-1</div><br /><br />\n\t<div id=''egcm'' \t > > > > > \tclass=''card'' >EGCM</div><br /><br />\n\t<div id=''gbeth'' > > > > > \tclass=''card'' >GB ETH</div><br /><br />\n\t<div id=''vt5g'' \t > > > > > \tclass=''card'' >VT 5G</div><br /><br />\n</fieldset> \t\t"); > > > > > } catch (e) { alert(''RJS error:\n\n'' + e.toString()); alert(''$ > > > > > (\"shelfcards\").update(\"<fieldset style=\''width: 400px;\''>\ > > > > > \n<legend>Select your card type</legend>\\n\\n\\t<div id=\''oc192\'' > > > > > class=\''card\'' >OC-192</div>\\n\\t<div id=\''oc48\'' \\t\\tclass> > > > \''card > > > > > \'' >OC-48</div>\\n\\t<div id=\''oc12\'' \\t\\tclass=\''card\'' >OC-12</ > > > > > div> > > > > > \\n\\t<div id=\''oc3\'' \\t\\tclass=\''card\'' >OC-3</div><br /><br />\ > > > > \n\ > > > > > \t<div id=\''28pds1\'' \\tclass=\''card\'' >28P DS-1</div><br /><br />\ > > > > \n\ > > > > > \t<div id=\''egcm\'' \\t\\tclass=\''card\'' >EGCM</div><br /><br />\\n\ > > > > > \t<div id=\''gbeth\'' \\tclass=\''card\'' >GB ETH</div><br /><br />\\n\ > > > > > \t<div id=\''vt5g\'' \\t\\tclass=\''card\'' >VT 5G</div><br /><br />\ > > > > \n</ > > > > > fieldset> \\t\\t\");''); throw e } > > > > > > > If I put this partial inside the div manually it works fine. > > > > > > > What causes this? > > >--~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---