代码之家  ›  专栏  ›  技术社区  ›  Ben

在使用Ajax向列表中添加项之后,如何在<div>中重新填充列表?

  •  0
  • Ben  · 技术社区  · 16 年前

    具体来说,我的Rails应用程序中有许多页面使用相同的部分。在每个页面的操作处理程序中,我创建一个数组对象(例如 @list_elements )基于数据库查询。每个页面使用不同的查询,以便每个页面中都有不同的列表元素。在每一页的顶部,我都有一个 form_remote_tag 包含一个编辑字段,允许用户以一种动态的、半开的方式添加一个新元素(比如Twitter的“发生了什么”框)。

    我的问题是,当ajax命令触发时,我需要重新加载列表以包含新添加的项,但列表的内容由数据库查询决定。我需要记住哪个查询适用于当前页面(即控制器操作),以便我可以再次运行它。我想把东西放在铁轨上 session 结构,但它看起来像是杀戮过度——就像一直存储当前页面。

    有没有人做过这样的事,并且用一种很好的方式来达到目的?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Audie    16 年前

    你不能重新呈现你的RJS模板中的部分吗?

    page[:div_element].replace_html :partial => 'partial'

    如果执行查询并在控制器操作中定义数组,则Ajax调用将刷新该数组。