Ruby on rails Ajax调用Rails中的加载更多按钮

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

我想用“加载更多”按钮加载数据。我在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: "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