【问题标题】:Adding Results via jQuery and avoiding duplication in will_paginate通过 jQuery 添加结果并避免在 will_paginate 中重复
【发布时间】:2011-06-11 07:33:13
【问题描述】:

我正在使用 will_paginate 对我的 Rails 3 应用程序中的 cmets 进行分页,效果很好。

目前,我每页显示 10 cmets。现在,当我使用 javascript (jQuery) 添加评论并将其附加到页面顶部时,它将显示 11 cmets。

但是,链接尚未刷新。因此,当我单击下一页链接时,会再次显示上一页的最后一条评论。

有什么方法可以避免这种重复的结果吗?

每次使用 jQuery 创建和附加新评论时,我是否必须刷新链接?

【问题讨论】:

  • 如果你仔细想想,你的系统实际上工作绝对正确。处理这种“视觉”重复的一种方法是在创建新评论时弹出最后一条评论,例如在回调中。通常感觉你应该修改视图层而不是业务逻辑。

标签: javascript jquery ruby-on-rails ajax will-paginate


【解决方案1】:

一种选择是在将新评论添加到顶部的同时将最后一条评论从页面中删除。如果您使用了一些 jQuery 效果,您可以让它看起来就像底部评论正在从页面中删除,同时顶部评论正在被添加。

这样,当用户在第二页顶部看到旧的第 10 条评论时,它会显得合乎逻辑。

我同意 polarblau 的观点,认为这在视图中处理得更好。要在控制器中处理它,您需要找到一种方法将取景器偏移 +1,这似乎需要更多的努力。

【讨论】:

  • 如果我要创建新评论,这种方法将有效。此外,如果我使用 javascript 删除(并隐藏)页面上的评论,我将不得不从数据库中获取下一条评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
  • 2015-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多