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

时间:2010-07-19 20:41:03

标签: ruby-on-rails

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

我的问题是,当AJAX命令触发时,我需要重新加载列表以包含新添加的项目,但列表的内容由数据库查询确定。我需要记住哪个查询适用于当前页面(即控制器操作),以便我可以再次运行它。我考虑过在rails session结构中存储一些东西,但它看起来有点过分 - 就像存储当前页面一样。

有人做过这样的事情并且有一个很好的Railsy方法来实现吗?

1 个答案:

答案 0 :(得分:1)

难道你不能在你的rjs模板中重新渲染部分吗?

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

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