Load file into text field?

The first bit is easy. "@text = File.read(filename)" in the controller, and use it somewhere in your view to show it.

The second bit can be done in a couple of ways.

The easier one is to have the client poll the server for changes, and send the new text when it has. Take a look at periodically_call_remote with the :update option. If your file is large, you'll want to have the client send the timestamp of the most recent version of the file it has received and check it to avoid sending the whole file each time.

The harder way is to push the data out the client periodically. This is a well-known problem without a straightforward solution AFAIK. There's a technique dubbed Comet, which is Flash-based. Or you could try keeping the HTTP connection open somehow. I think this has been discussed here recently; you could try searching the archives if this interests you.

Have a look here:

http://juggernaut.rubyforge.org/

I’ve only just seen it myself, so not sure if it’s what you want. I’ll let you decide!

-Nathan

That would not be very efficient, no. If the file is only being appended to, you could send the last file size instead, and only send the extra bytes.

In fact, if you're after a "tail -f" sort of functionality, there was a thread on this recently: http://rubyurl.com/9n4 .

Ruby can certainly read from fifos -- check the IO docs. If you're going to poll the server, I think you'd have an added complication in that each AJAX update request handler needs to access the same fifo somehow. This is quite a complicated road to be going down though IMHO.