You should consider moving this long running process to a background task, so you can immediately give feedback to the user. Once the background job has been submitted, depending on your background processing engine, you will be able to check the status of jobs. It's probably simple to keep track of the status yourself (depending on your task). Use either Redis or just in your database (create a separate table for this). Once the job has been submitted, you need to return the id of the job which you can use to poll for updates.
Create a new controller (or action) that you can use jQuery + Ajax and poll for changes. giving it a job_id (which your previous action returned)
Please also look at:
Faye: http://faye.jcoglan.com/, http://railscasts.com/episodes/260-messaging-with-faye
Goliath: http://postrank-labs.github.com/goliath/
http://railscasts.com/episodes/229-polling-for-changes
Delayed Job, Resque, etc.
Oh, If you are just looking for a simple file upload progress indicator, see this Rails, upload progress bar
You can try the streaming technique as well, lots of info on that here:
Ruby on Rails 3: Streaming data through Rails to client