0

我创建了一个带有一些下拉值的简单表单,您还可以通过在不同页面上创建一个新值来向该下拉列表添加一个新值。完成后,此页面使用 redirect_to 方法返回到上一页。

if @sweet_type.save
    format.html { redirect_to session[:return_to], notice: 'Sweet type was successfully created.' }

这一切都很好,但我想知道重定向完成后是否可以在下拉框中突出显示新创建的记录?

任何关于此的提示或提示都非常受欢迎。

谢谢

编辑:添加图像以进行更多说明。

单击此处添加甜味类型

http://i.imgur.com/8W3Go.png

在此处添加新类型

http://i.imgur.com/Nbl7t.png

然后返回上一个屏幕,新创建的项目为“默认”值。

4

2 回答 2

1

您可以使用以下方法将新创建的 sweet 类型的 id 作为参数传递给下一个请求:

format.html { redirect_to session[:return_to](:sweet_type_id: @sweet_type.id), notice: 'Sweet type was successfully created.' }

然后在您呈现选择列表的视图中,您可以选择这个特定的甜味类型(在 params[:sweet_type_id] 中)作为默认值。请注意,这可能因您创建选择列表的方式而异。我给你看一个例子。实际上,您需要在选择列表中设置该选项的 selected 属性,使用您当前使用的任何助手(查看您正在使用的助手的 API 文档)。

<%= f.select :sweet_type_id, @sweet_types, :selected => params[:sweet_type_id] %>

于 2012-10-15T10:10:49.277 回答
0

@sweet_type.id当重定向为查询字符串时,您可以传递新创建的对象 ( ) 的 ID 。然后在您被重定向到的页面中,您可以使用 javascript/jQuery 突出显示它。请查看 helper 方法的文档redirect_to了解将查询字符串添加到 URL 的选项。

突出显示可能就像闪烁整个select标签或在其周围放置边框或任何您想要的。

于 2012-10-11T10:22:50.870 回答