Ruby on rails Ajax调用Rails中的加载更多按钮
我想用“加载更多”按钮加载数据。我在posts/index.html.erb中实现了如下内容:Ruby on rails Ajax调用Rails中的加载更多按钮,ruby-on-rails,ajax,Ruby On Rails,Ajax,我想用“加载更多”按钮加载数据。我在posts/index.html.erb中实现了如下内容: <div id="posts"> <h1>Posts</h1> <%= render @posts %> </div> <div class="load-more-container"> <%= link_to "Load More", posts_index_path, class: "lo
<div id="posts">
<h1>Posts</h1>
<%= render @posts %>
</div>
<div class="load-more-container">
<%= link_to "Load More", posts_index_path, class: "load-more" %>
</div>
<div class="post">
<h2><%= post.title %></h2>
<p><%= post.body %></p>
</div>
我得到了前2个数据:
Post1
Post2
load more
当单击“加载更多”时,我得到如下结果:
@@count=2
def index
if params[:id]
@posts = Post.where('id < ?', params[:id])
else
@posts = Post.limit(@@count)
end
@@count+=2
respond_to do |format|
format.html
format.js
end
end
Post1
Post2
Post1
Post2
Post3
Post4
但我只想:
Post1
Post2
Post3
Post4
谁能帮帮我吗。提前感谢。由于您每次单击“加载更多”按钮都会获取所有记录,因此不要附加结果并用html覆盖 $('#posts').html('')
在控制器中,替换
@posts=Post.limit(@@count)
=>@posts=Post.limit(2).偏移量(@@count-2)
如果您想加载更多的2篇文章。每次请求时,变量
@@count
总是等于2
。谢谢@krishnar。我得到了输出。嘿@krishnar,我有一个疑问,每当我刷新页面时,值会增加,但我想在刷新页面时显示2篇帖子。数据结束时,不应显示“加载更多”按钮。你能帮我弄到这个吗?@SumitRanjan@@count=0,除非request.xhr?将这一行作为第一行放在索引操作中。我使用了这样的@count=2 request.xhr?我明白了。@SumitRanjan好的,对不起。应该是2
Post1
Post2
Post1
Post2
Post3
Post4
Post1
Post2
Post3
Post4