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
-~----------~----~----~----~------~----~------~--~---