我在 Rails 应用程序中遇到了这个不寻常的问题。我有一个 View ,我正在使用 RESTful 路线。 在我看来,我有一个索引和一个显示操作。在我的索引中,我是否对从表中打印的某些行使用 will_paginate 。当我按分页上的“下一步”时,它会发出 ajax 请求并呈现接下来的 5 行。第一次加载网站时一切正常,当我单击“下一步”时,它会由 JS 处理到 Controller 。但是,当我单击从表格打印的其中一篇文章上的“显示”并定向到 show.html.erb 并按按钮返回索引时,我在分页上的 ajax 调用中遇到了不寻常的问题。例如,如果我单击下一步,它将由 HTML 处理。如果我再次更新索引,ajax 调用将再次工作。
index.html.erb
<% @posts.each do |post| %>
<%= post.name %>
<%= link_to 'show', post_path(post) %>
<% end %>
<div class="show_pagination"><%= render 'posts/pagination' %></div>
_pagination.html.erb
<div class="pagination">
<%= will_paginate @posts, :page_links => false %>
</div>
index.js.html
$('.show_pagination').html('<%= escape_javascript(render("posts/pagination")) %>');
show.html.erb
<%= @posts.name %>
<%= link_to 'All posts', posts_path %>
posts_controller.rb
def index
@posts = Post.paginate(page: params[:page],:per_page => 5).all.order('created_at DESC')
end
def show
@posts = Post.find(params[:id])
end
application.js
$(document).ready(function () {
$("body").on("click", '.show_pagination .pagination a', function(e){
e.preventDefault();
$.getScript(this.href);
return false;
});
});
我的 javascript 控制台或 Rails 控制台中没有收到任何错误。 我正在使用 ROR 4,并且正在使用 Jquery 和 Jquery ui gem。
提前致谢。
最佳答案
我确实安装了 Jquery-turbolinks gem,现在一切正常。
所以,如果除了我之外的其他人也有同样的问题,这里有一个 jquery Turbolinks 的链接。 https://github.com/kossnocorp/jquery.turbolinks
关于javascript - Ruby on Rails,ajax 分页错误,在更改站点之前有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26178640/