有没有人知道一个好的指南或示例,让我了解如何使用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>
答案 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