使用轨道上的ajax和ruby更改存储在div中的数据

时间:2013-08-01 14:37:23

标签: ruby-on-rails ajax

有没有人知道一个好的指南或示例,让我了解如何使用ajax更改屏幕上的数据?

我有一个存储最后一个@event_status的div,每隔5分钟我想要创建最后一个事件状态并使用ajax在div中显示它。

<div id="last_status">
    Last Status: 
    <% if @event_status.present? %>
        <span id="last_status_content">[<%= @event_status.user.initials %> @ <%= @event_status.created_at.strftime("%I:%M%p") %>]<br />
            Audio: <%= @event_status.audio ? 'Good' : 'None' %> |
            Video: <%= @event_status.video ? 'Good' : 'None' %> |
            <% if @event_status.notes.present? %>
                Notes: <%= @event_status.notes %>
            <% else %>
                Notes: No Notes
            <% end %>
        </span>
    <% else %>
        <span id="last_status_content">None</span>
    <% end %>
</div>

1 个答案:

答案 0 :(得分:0)

您可以使用javascript定期调用操作并将内容放入div中。首先将last_status div的内容提取为partial,然后从控制器操作返回所述partial。

页面中的Javascript:

$(document).ready(
  function() {
    setInterval(function() {
      $('.last_status').load('/controller_name/action_name');
    }, 36000);
  }
);

您的控制器操作需要初始化部分使用的所有变量,然后渲染部分。

def my_action
  @event_status = get_latest_event
  render :partial => 'my_partial'
end