如何在Rails中为select_tag设置默认值,并确保在页面刷新时重新加载默认值

时间:2012-08-08 13:38:38

标签: ruby-on-rails jquery drop-down-menu refresh default-value

背景

我有一个带有2个下拉选项A和B的视图页面(abc.html.haml).A,B是包含一组记录的列表,这些记录的部分我通过UI展示。

默认情况下,点击控制器#index动作(通过浏览器URL调用),页面将填充A列表中的记录。

然后我选择了一个Ajax调用,在选择下拉菜单时用列表B中的记录填充同一页面。假设我现在使用下拉选项从状态A移动到B.

问题

有一次,我的页面填充了列表B中的记录,现在, 页面刷新 ,我的下拉菜单仍然保持相同的状态'B',但是从页面刷新的控制器#动作加载的默认记录集来自列表A(因此下拉菜单的状态应为'A')。

关于我如何解决这个问题的任何意见?

感谢。

1 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解你的问题,但我能想到的一些选择:

  • 在下拉菜单中进行选择时,使用javascript更改URL。您可以在URL中添加可以反映下拉状态的参数,然后您可以在页面加载时解析这些参数。

  • 为用户提供一个您控制的刷新按钮,然后您可以在刷新时将信息发送回控制器,以便加载正确的默认值。

  • 当用户制作时,通过ajax调用将当前用户选择存储在数据库中。我不知道你的应用程序的上下文,所以我不知道这是多么可行。那么你可以在页面加载时加载它们(如果存在的话)。

然而,最简单的选择是重置页面刷新的所有控件,我认为用户仍然期望这种行为。

相关问题