Difference in render and render :update

I have a situation where i am using extjs for my tab layouts.
When i am getting a tab to be loaded i am making a call to a method and
from there i do
if(some condition)
  render :partial=>'x'
else
  render :partial=>'y'
end

When partial 'x' is rendered, upon some successful completion of an ajax
call i then render partial 'y' by doing

render :update do |page|
  page.replace_html 'div_id', :partial=>'y'
end

Now the issue is in partial 'y' i have an observer and it gets fired if
am coming to that partial from x and then y. But if i come to the y
partial straightaway the observer is not getting fired at all.

Can someone help me with what could be the difference that is not
letting the observer to fire.