From: Charlie Squires Date: 2005-12-13T02:07:50+09:00 Subject: Re: AJAX in Ruby on Rails Just to save someone a post... I know there's a Rails list, but I have limited access to it from work (where I am now). "Charlie Squires" wrote in message news:dnk9db$n8i$1@foggy.unx.sas.com... > I'm having some trouble getting AJAX working properly for me in Rails. > I've tried the example in "Agile Web Development with Rails" on page 391 > using form_remote_tag(), and instead of updating a
like it should, > it renders the form as an entirely new page. I've tried in on Windows XP > and OS X 10.4, WEBrick and Apache, using IE and Firefox, and to no avail. > > For those who don't have the book, the problem is essentially: > > I have a controller with: > > def index > end > > def blah > @stuff = 'should print' > render :partial => 'form' > end > > > index.rhtml: >

Display me!

>
> <%= render(:partial => 'form') %> >
> > _form.rhtml: > <% if @stuff %> >

<%= @stuff %> > <% end %> > > <%= form_remote_tag(:update => "update_me", :url => { :action => :blah } ) > %> > blah blah blah > <%= end_form_tag %> > > When you submit the form, the

Display me!

part doesn't show > again. The render :partial => 'form' from the 'blah' action just renders > the form and doesn't update the "update_me"
section. The WEBrick > output is as follows: > > 127.0.0.1 - - [12/Dec/2005:10:43:28 Eastern Standard Time] "GET /guesswhat > HTTP/1.1" 200 851 > > - -> /guesswhat > > 127.0.0.1 - - [12/Dec/2005:10:43:28 Eastern Standard Time] "GET > /favicon.ico HTTP/1.1" 200 0 > > - -> /favicon.ico > > 127.0.0.1 - - [12/Dec/2005:10:43:32 Eastern Standard Time] "POST > /guesswhat/guess HTTP/1.1" 200 623 > > http://localhost:3000/guesswhat -> /guesswhat/guess > > Notice the difference between the first and third actions: > - -> /guesswhat > http://localhost:3000/guesswhat -> /guesswhat/guess > > Does anyone know what the problem is? I hope this isn't too confusing... > it's hard to explain. If you have the book you can run the example > yourself and see what you encounter. > > Thanks in advance, > Charlie >