Hi Tom,
Tom Ha wrote:
I have this button which is supposed to update a DIV on the same page (using a partial). But it doesn't.
What am I missing here ?!
Do you have Firebug installed? If not, you definitely need to get that. The console tab is invaluable in debugging Ajax.
VIEW:
<% form_tag '/trees' do -%> <%= submit_to_remote 'new_tree', 'Add a tree', :url => { :controller => 'trees', :action => 'new' } %> <% end -%>
This is interesting. I'm not sure what the impact would be of mixing form_tag, which includes the url ('/trees'), with submit_to_remote, which also includes a url. Especially since they're different urls in your case (a POST to trees is going to naturally invoke the 'create' action, not the 'new' action. You might try just using form_remote_tag instead.
CONTROLLER
def new render :update do |page| page.replace_html 'newtree', :partial => 'user/trees/newtree'
You didn't show it, so I'll assume you have a <div id="newtree"> element on the page, and that you have a newtree.rhtml file in views/user/trees/. If either of those is not true, your Ajax definitely won't work.
Bottom line, though, is get Firebug installed in FireFox and see what it's telling you.
HTH, Bill