I'm working through Agile Web Dev. On page 130, you change an add to
cart button that posts to a new page to a button that does an Ajax
post. The code changes from button_to to form_remote_tag with
arguments.
But when I use that tag nothing appears on the page. (And there's
nothing in the source. Rails just ignores the tag entirely.)
<% form_remote_tag :url => { :action => :add_to_cart, :id => product } do %>
<%= submit_tag "Add to Cart" %>
<% end %>
I've swapped my code for the code downloaded from the book, but still nothing.
First, am I missing something? Second, how does one trouble-shoot
these kinds of problems? View source gives me nada and rails tells me
nothing. Where do I look to troubleshoot?
Thanks,
First, am I missing something?
Yes. Your '<% form_remote_tag' should be '<%= form_remote_tag'.
Second, how does one trouble-shoot
these kinds of problems? View source gives me nada and rails tells me
nothing. Where do I look to troubleshoot?
Content not even appearing may well be something you're going to have to debug for yourself. If you're anything like me, a few times of leaving off the = sign as you have done here, and you'll soon learn how to diagnose this particular problem! 
If you're doing anything with Ajax and RJS, I can't recommend the FireBug extension for Firefox enough. It's a real godsend.
Scott
You need Edge Rails to use the new-style form_tag and form_remote_tag helpers.
If you'd rather not install via Subversion, I've prepared a zip file of today's Edge rails. Download
http://media.pragprog.com/titles/rails2/code.rails.zip
into your application's vendor/ directory, and then unzip it. Then go back to your applications main directory and type
rake rails:update
If you restart your application, all the new stuff should work.
DON'T USE THIS IN PRODUCTION. NO WARRANTIES. ETC.
Dave
I updated to the most recent version of rails and that fixed it.
(Though, I thought I was already on a recent enough edge.)
And I guess that answers a troubl-shooting question: verify the
feature you're using against the rails version you're using.
Thanks,