2011-06-11 59 views
1

我正在使用will_paginate来对我的Rails 3应用中的评论进行分页,并且它工作得很好。通过jQuery添加结果并避免在will_paginate中重复

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

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

有没有办法可以避免这种重复结果?

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

+1

您的系统实际上工作是绝对正确的,如果你考虑一下。处理这种“视觉”重复的一种方法可能是在创建新的评论时弹出最后的评论,例如,在回调中。一般来说,您觉得您应该修改视图层,而不是业务逻辑。 – polarblau 2011-06-11 13:07:49

回答

1

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

这样,当用户在页面2的顶部看到旧的第10条评论时,这似乎是合乎逻辑的。

我同意polarblau,这是更好地处理在视图中。要在控制器中处理它,你需要找出一种方法来将发现者抵消+1,这似乎是很多努力的结果。

+0

如果我正在创建新评论,则此方法可行。另外,如果我使用javascript删除(并隐藏)页面上的评论,我将不得不从db获取下一条评论。 – 2011-06-13 09:48:23