Javascript Ajax与RubyonRails简单视图刷新
我想知道是否有人能帮我解决一个问题,我正在Rails中开发一些AJAX。我想尝试做一些简单的事情,我只是想不断地检查索引视图中的新条目,是否会在屏幕外发生 每隔几秒钟,新的条目就会消失,这真的很酷吗?新条目位于一个名为image的div类中,在该类中:Javascript Ajax与RubyonRails简单视图刷新,javascript,ruby-on-rails,ruby,ajax,Javascript,Ruby On Rails,Ruby,Ajax,我想知道是否有人能帮我解决一个问题,我正在Rails中开发一些AJAX。我想尝试做一些简单的事情,我只是想不断地检查索引视图中的新条目,是否会在屏幕外发生 每隔几秒钟,新的条目就会消失,这真的很酷吗?新条目位于一个名为image的div类中,在该类中: <%= image_tag image.image_url(:medium).to_s %> 我尝试了一些教程,但有些似乎过时了,有点偏离了我想要达到的目标。我希望有人能在正确的方向上帮助我。基本思想是: 您可以存储最新的条目,
<%= image_tag image.image_url(:medium).to_s %>
我尝试了一些教程,但有些似乎过时了,有点偏离了我想要达到的目标。我希望有人能在正确的方向上帮助我。基本思想是:
data-
属性中@images = Image.order('id desc')
@images = @images.where('id > ?', params[:latest_id]) if params[:latest_id]
视图(images/index.js.erb):
$('div.image:first')。在(''.hide().fadeIn()之前
注意,我对您的模型名称和路径做了一些假设。您应该根据需要修改路径
此示例用于说明目的,不适用于实际应用程序-如果服务器过载,javascript将不断用请求敲打它,或者如果您的初始页面没有初始条目,则插入新条目的方式将中断。基本思想是:
data-
属性中@images = Image.order('id desc')
@images = @images.where('id > ?', params[:latest_id]) if params[:latest_id]
视图(images/index.js.erb):
$('div.image:first')。在(''.hide().fadeIn()之前
注意,我对您的模型名称和路径做了一些假设。您应该根据需要修改路径
此示例用于说明目的,不适用于实际应用程序-如果服务器过载,javascript将不断使用请求对其进行攻击,或者如果您的初始页面没有初始条目,插入新条目的方式将中断。是最新的,但您需要订阅:p是最新的,但您需要订阅:PThanks@bdares!想看看我把javascript放在第2节的什么地方吗?直接粘贴到底部的application.js?嘿,老兄,我好像没法继续?它没有给我任何错误,它不仅仅是在更新:(有没有一个好方法来判断它是否在尝试做任何事情?你会想分别查看服务器日志和浏览器控制台中的ruby和javascript错误。谢谢你,伙计,这个概念看起来不错,我只是很难让它正常工作:(谢谢@bdares!只想检查一下我把javascript放在第2节的什么地方?直接粘贴到底部的application.js中就行了?嘿,伙计,我好像没法继续这样做?它没有给我任何错误,根本不只是更新:(有没有一个很好的方法来判断它是否在尝试做任何事情?你会想分别查看服务器日志和浏览器控制台中的ruby和javascript错误。谢谢你,伙计,这个概念看起来不错,我只是在让它工作时遇到了麻烦:(
function poll(){
latest_id = $('div.image:first').data('id')
$.getScript('/images?latest_id='+latest_id)
}
$(function(){setInterval(poll, 5000})
@images = Image.order('id desc')
@images = @images.where('id > ?', params[:latest_id]) if params[:latest_id]
$('div.image:first').before('<%=j render @images%>').hide().fadeIn()