【问题标题】:Problem will paginate ajax rails?问题将分页ajax rails?
【发布时间】:2025-12-20 17:30:11
【问题描述】:

我的问题是这样的:

我有一个名为new 的视图/操作。在此操作中,我可以创建 product_packs。每个包都有很多产品。好的?

然后在new 视图中,我有一个打开弹出窗口的按钮。此弹出窗口允许 add_products 打包。 该产品使用 will_paginate 插件进行分页。所以产品分页代码正在行动new。好吗?

除了这个弹出窗口是在一个部分里面。 (按钮是<%= button_to_function "add_product", "BasicModal("id_add_product_partial")"%>,通过 Simplemodal 插件打开弹出窗口)。

好的,当我从列表中选择产品时,这些产品会加载到列表中。所以当我点击弹出窗口中的add products 按钮时,我不想再看到这个产品。好吗?

add_products 按钮转到我重新加载产品的 ajax 请求 ajax(我拒绝选定的产品)。

所以我想再次对产品进行分页,但将对产品进行分页处理new。但必须去add_products ajax 操作。好吗?

我需要一个解决方案来重写视图中的 will_paginate 链接。

(例如:当我加载操作newcharge 但是当我选择产品并添加到我的列表时,将这些 will_paginate 链接替换为 )

我需要在打开弹出窗口时加载/初始化产品。所以弹出代码不在new 视图上。在 add_products 操作中弹出代码加载产品集合,因此 will_paginate 链接始终转到此操作。

谢谢你的建议,对不起。如果您需要我的应用程序代码,我会在其他答案中发布。

【问题讨论】:

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


    【解决方案1】:

    我找到了解决这个问题的方法。当我有一点时间时,我将发布我的代码更具解释性。

    一般来说,我们可以结合gitHub官方文档中描述的ajax分页,使用Simple modal。

    首先我创建一个用于远程操作的 button_to_remote 和一个带有 ID attr 的 empty div,然后我可以在这里运行我的方法的逻辑,这样我们将只使用一次带有条件的 will_paginate 插件。

    然后我可以使用 RJS 或在控制器中渲染 :update。在那里我们可以使用 page.replace_html 并用我们的 remote_form (部分)填充empty div。然后我用空 div 的 ID 调用 Basicmodal 函数。

    然后我在路由中创建一个 map.connect relative_url, :controller "foo", :action :bar。

    所以我们在其他控制器中得到了一个带有远程分页的弹出窗口,与所谓的当前操作不同。

    谢谢

    【讨论】: