AJAX in Ruby on Rails

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 <div> 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:
<h3>Display me!</h3>
<div id="update_me">
    <%= render(:partial => 'form') %>
</div>

_form.rhtml:
<% if @stuff %>
    <p> <%= @stuff %>
<% end %>

<%= form_remote_tag(:update => "update_me", :url => { :action => :blah } )
%>
    blah blah blah
<%= end_form_tag %>

When you submit the form, the <h3>Display me!</h3> part doesn't show again.
The render :partial => 'form' from the 'blah' action just renders the form
and doesn't update the "update_me" <div> 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

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" <charles.squires@sas.com> 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 <div> 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:
<h3>Display me!</h3>
<div id="update_me">
   <%= render(:partial => 'form') %>
</div>

_form.rhtml:
<% if @stuff %>
   <p> <%= @stuff %>
<% end %>

<%= form_remote_tag(:update => "update_me", :url => { :action => :blah } )
%>
   blah blah blah
<%= end_form_tag %>

When you submit the form, the <h3>Display me!</h3> part doesn't show
again. The render :partial => 'form' from the 'blah' action just renders
the form and doesn't update the "update_me" <div> 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

Charlie Squires wrote:

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).

Try www.ruby-forum.com. It mirrors the Rails mailing list and allows
posting.

···

--
Posted via http://www.ruby-forum.com/\.