具体来说,我的Rails应用程序中有许多页面使用相同的部分页面。在每个页面的动作处理程序中,我基于数据库查询创建了一个数组对象(例如@list_elements
)。每个页面使用不同的查询,以便每个页面中都包含不同的列表元素。在每个页面的顶部,我有一个包含编辑字段的form_remote_tag
,允许用户以动态的AJAXy方式添加新元素(想想像Twitter'发生了什么'的方框)。
我的问题是,当AJAX命令触发时,我需要重新加载列表以包含新添加的项目,但列表的内容由数据库查询确定。我需要记住哪个查询适用于当前页面(即控制器操作),以便我可以再次运行它。我考虑过在rails session
结构中存储一些东西,但它看起来有点过分 - 就像存储当前页面一样。
有人做过这样的事情并且有一个很好的Railsy方法来实现吗?
本
答案 0 :(得分:1)
难道你不能在你的rjs模板中重新渲染部分吗?
page[:div_element].replace_html :partial => 'partial'
如果执行查询并在控制器操作中定义数组,则ajax调用将刷新该数组。