初心者です。RoRでチャットを作っています。下記のコードで走らせても思ったように動きません。どこに問題がありますか?

 ユーザーの新規のpostを1秒ごとに取得して、render_to_stringした後で送信しています。クライアント側では、それをpostが表示される"post-list"にappendしています。しかし、ユーザーがpostを作成しても、作成は成功しますが、表示がされません。

chats.coffee

$ ->
  chat_id = $("chat_id").text()
  eventSource = new EventSource(chat_id+"/stream")
  eventSource.addEventListener 'push', (event) ->
    post = event.data
    $('#post-list').append(post)

chats.controller.rb

include ActionController::Live
def stream
  @chat = Chat.find(params[:id])
  response.headers['Content-Type'] = 'text/event-stream'
  start = Time.zone.now
  loop do
    Post.uncached do
      Post.where('created_at > ?', start).where('chat_id = ?', @chat.id).each do |post|
        html = render_to_string partial:'shared/_post.html.erb', object:post
        response.stream.write("event:push\n")
        response.stream.write("data:#{html}\n\n")
        start = post.created_at
      end
    end 
    sleep 1
  end
  rescue
  ensure
    response.stream.close
end

お願いします。