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
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!
_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 showagain.
The render :partial => ‘form’ from the ‘blah’ action just renders the
form
and doesn’t update the “update_me”
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