背景
我有一个带有2个下拉选项A和B的视图页面(abc.html.haml).A,B是包含一组记录的列表,这些记录的部分我通过UI展示。
默认情况下,点击控制器#index动作(通过浏览器URL调用),页面将填充A列表中的记录。
然后我选择了一个Ajax调用,在选择下拉菜单时用列表B中的记录填充同一页面。假设我现在使用下拉选项从状态A移动到B.
问题
有一次,我的页面填充了列表B中的记录,现在, 页面刷新 ,我的下拉菜单仍然保持相同的状态'B',但是从页面刷新的控制器#动作加载的默认记录集来自列表A(因此下拉菜单的状态应为'A')。
关于我如何解决这个问题的任何意见?
感谢。
答案 0 :(得分:1)
我不确定我是否完全理解你的问题,但我能想到的一些选择:
在下拉菜单中进行选择时,使用javascript更改URL。您可以在URL中添加可以反映下拉状态的参数,然后您可以在页面加载时解析这些参数。
为用户提供一个您控制的刷新按钮,然后您可以在刷新时将信息发送回控制器,以便加载正确的默认值。
当用户制作时,通过ajax调用将当前用户选择存储在数据库中。我不知道你的应用程序的上下文,所以我不知道这是多么可行。那么你可以在页面加载时加载它们(如果存在的话)。
然而,最简单的选择是重置页面刷新的所有控件,我认为用户仍然期望这种行为。