In Onlamp there is a wonderful introduction to Ajax under Rails in "Ajax on Rails," ( Radar – O’Reilly ).
I have taken the Author, Curt Hibbs' code from the example, and in looking at other examples, a common seeming problem (to me) keeps recurring.
If I want to render to a < div > element, when I make a subsequent render to it, it then shows both this rendering as well as the previous -- when in fact, I only want the latest rendering. The code for an rhtml as well as a method coinciding with that rhtml bears this out. How can I amend such code so as to only print the last link_to_remote result? Also, would there be a way to render to, say, a textbox in this example?
Thank you. Ive looked at other Ajax on Rails examples and they all seem to have this same 'problem,' which I'd like to get around.
<html> <head> <title>Ajax Demo</title> <%= javascript_include_tag :defaults %> </head> <body> <h1>What time is it?</h1> <div id="time_div"> I don't have the time, but <%= link_to_remote( "click here", :update => "time_div", :url => { :action => :say_when }, :position => "bottom" ) %> and I will look it up. </div> </body> </html>
def say_when render_text "<p>The time is <b>" + DateTime.now.to_s + "</b></p>" end