Javascript RubyonRails实时更新

Javascript RubyonRails实时更新,javascript,jquery,ruby-on-rails,ajax,live,Javascript,Jquery,Ruby On Rails,Ajax,Live,好的,我要寻找的是一种让ajax脚本在页面后台运行的方法,看看数据库中是否有新记录,是否有抓取该记录并在我的页面上显示 我也不想使用插件,我宁愿自己做这件事,因为我更喜欢学习如何做,如果我将来需要它做一些不同的事情,更容易进行更改 我对ajax和rubyonrails还不太熟悉,所以需要进行一些解释 这是我的控制器,当我看到一个用户更新它更改的内容而不刷新页面时,但我希望它也能获得新数据 class NotificationsController < ApplicationCont

好的,我要寻找的是一种让ajax脚本在页面后台运行的方法,看看数据库中是否有新记录,是否有抓取该记录并在我的页面上显示

我也不想使用插件,我宁愿自己做这件事,因为我更喜欢学习如何做,如果我将来需要它做一些不同的事情,更容易进行更改

我对ajax和rubyonrails还不太熟悉,所以需要进行一些解释

这是我的控制器,当我看到一个用户更新它更改的内容而不刷新页面时,但我希望它也能获得新数据

    class NotificationsController < ApplicationController

  # GET /notifications
  # GET /notifications.json
  def index
    @notifications = Notification.all
  end

def show
  end

def update 
  @notification = Notification.find(params[:id])
  @notification.update_attributes(:content => params[:content][:content])
  respond_to do |format|
    format.html { redirect_to notifications_path }
    format.json { render json: @notification}
  end
end
end
这是我的html文件

<% content_for :titleheader do %>
NOTIFICATIONS
<% end %>

<h1>Listing Notifications</h1>

    <% @notifications.each do |notification| %>
    <%= form_for notification do |f| %>

    <%= notification.id %>
    <div id="<%= notification.id %>"><%=notification.content %></div>
    <%= notification.read %>

<%= text_field "content", "content" %>
    <%= f.submit "change status" %>
<% end %>
<% end %>

通知
上市通知
正如你所知道的,我还没有做一个创建操作,因为我不确定我是否必须通过ajax或其他方式来做这件事


非常感谢您的帮助

是的,您需要通过AJAX使用一个称为轮询的过程来实现这一点。不幸的是,如果您不想使用任何额外的gem或插件,那么这是唯一“简单”的解决方案。轮询是脚本定期检查服务器的更新

setInterval(function(){ ajax_check_and_apply_updates_function(); }, 10000);
将每隔10秒运行ajax检查更新

如果您愿意向gems开放,那么您可以使用它来实现异步


如果有人知道使用ruby on rails和AJAX实现异步的方法,我真的希望他们能告诉我们,因为这是一个愚蠢的问题。

这是一个糟糕的问题还是没有人知道答案?
setInterval(function(){ ajax_check_and_apply_updates_function(); }, 10000);