News Roll

Hello,

I am making an application in which I have a div where a new news is flashed after every 5 second or so automatically. By automatically, I mean user does not send any request to server by clicking on anything. The approach I think which might work is - for news div, I call a javascript function on onload event function of the div, which after every 5 second sends an ajax request to server and update that div with a new content. However, as I understand that this thing needs to be implemented as a separate thread so that rest of the components on the webpage remains interactable. Is this the right approach to solve this or is there a better way to do it?

However, as I understand that this thing needs to be implemented as
a separate thread so that rest of the components on the webpage
remains interactable.

That's not true.

Fred

Solving the similar problem, I am not sure if my previous approach was the right way. Another thing I could think of is that my server keeps sending data to my client side proactively for every 5 seconds. How that can be acheived in rails?

Jaikishan,

There's no such thing in HTTP. The server can only answer client requests, not the other way around.

Your 1st approach is correct, except your assumption of needing a separate thread. What Fred meant is that exactly that, you don't need a separate thread. Your regular Rails app should be more than capable to respond to these AJAX requests.

Cheers, Sazima

You can use periodically_call_remote: http://api.rubyonrails.org/classes/ActionView/Helpers/PrototypeHelper.html#M001427