# Partial update

**URL:** <https://www.ruby-forum.com/t/partial-update/120268>\
**Category:** Rails\
**Created:** [November 15, 2007, 12:27pm UTC](https://www.ruby-forum.com/t/partial-update/120268 "2007-11-15T12:27:00Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 15, 2007, 12:27pm UTC](https://www.ruby-forum.com/t/partial-update/120268/1 "2007-11-15T12:27:00Z")

</div>

I have a partial on main page that displays current scores of game. The  
latest scores keep coming in database. I want to update that partial  
after every 5 seconds with values from db so that latest scores will be  
displayed. How can I do that?

---

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 15, 2007, 12:44pm UTC](https://www.ruby-forum.com/t/partial-update/120268/2 "2007-11-15T12:44:48Z")

</div>

you can handle that from you view:

\<%= periodically\_call\_remote(:url =\> mycontroller\_path(), :method =\>  
:get, :frequency =\> 5) %\>

your controller must return the update as ajax in that case  
if you have some tag with id ‘score\_list’ it would look like

@new\_scores = ScoreList.find(…)  
render :update do |page|  
page.replace\_html “score\_list”, :partial =\> “my\_partial”, :collection  
=\> @new\_scores  
end

---

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 15, 2007, 12:45pm UTC](https://www.ruby-forum.com/t/partial-update/120268/3 "2007-11-15T12:45:40Z")

</div>

On 15 Nov 2007, at 11:27, Vapor … wrote:

> ## I have a partial on main page that displays current scores of game. The latest scores keep coming in database. I want to update that partial after every 5 seconds with values from db so that latest scores will be displayed. How can I do that?

You probably want to have a look at periodically\_call\_remote

Fred

---

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 15, 2007, 8:41pm UTC](https://www.ruby-forum.com/t/partial-update/120268/4 "2007-11-15T20:41:00Z")

</div>

Thorsten M. wrote:

> you can handle that from you view:
> 
> \<%= periodically\_call\_remote(:url =\> mycontroller\_path(), :method =\>  
> :get, :frequency =\> 5) %\>
> 
> your controller must return the update as ajax in that case  
> if you have some tag with id ‘score\_list’ it would look like
> 
> @new\_scores = ScoreList.find(…)  
> render :update do |page|  
> page.replace\_html “score\_list”, :partial =\> “my\_partial”, :collection  
> =\> @new\_scores  
> end

Perfect!!! Many thanks 🙂
