Multiple render :text, live

I’m new to rails and ruby
Sorry for the x-post.

I am using “activescaffold” and have a model that takes some time to
complete, I would like to have it update the page multiple times while
‘foo’ runs.

basically i have the following

def foo
render :text => “starting”

end

It displays the text properly, but not untill ‘foo’ has completed.

What I would like to do is something like the following.

def foo
render :text => “starting”

render :text => “#{iteration} / #{total_iterations}”

render :text => “complete”
end

On 5/1/07, knohr [email protected] wrote:

I’m new to rails and ruby
Sorry for the x-post.

I am using “activescaffold” and have a model that takes some time to
complete, I would like to have it update the page multiple times while
‘foo’ runs.

You’d be much better asking on the rails google group but:

basically i have the following

def foo
render :text => “starting”

end

I assume that you mean that this is in the controller not the model.

render :text => “complete”
end

You’re only allowed one render call per controller action. If you call
render a second time you’ll get a DoubleRenderError exception.

A controller action processes a single http(s) request, and returns
one response, this is inherent in the design of the http protocol. If
you’ve got a copy of Active Web D. with Rails, and if you
don’t, you should, this is described on page 426 of the second
edition.

If you want to dynamically update the browser display you need to
explore techniques like using AJAX to have the browser poll for
updates.

And that’s DEFINITELY a topic for the rails specific group rather than
ruby-talk.


Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/