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 D. 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:

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

make sure you are including the javascript prototype library

<%= javascript_include_tag “prototype” %>

hope that helps!
steve

First step, have you included the required java scripts on the page?
<%= javascript_include_tag :defaults %>

I read through the part and I dont think they mention the needed
includes (or at least its hard to spot when they do).