我创建了一个包含一些下拉值的简单表单,您还可以通过在其他页面上创建新值来为此下拉列表添加新值。完成后,此页面使用redirect_to方法返回上一页。
if @sweet_type.save
format.html { redirect_to session[:return_to], notice: 'Sweet type was successfully created.' }
一切正常,但我想知道重定向完成后是否可以在下拉框中突出显示新创建的记录?
任何关于此的提示或提示都非常受欢迎。
由于
编辑:添加图片以获得更多说明。
点击此处添加甜蜜类型
在此处添加新类型
然后返回上一个屏幕,新创建的项目为“默认”值。
答案 0 :(得分:1)
您可以使用以下方法将新创建的甜蜜类型的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] %>
答案 1 :(得分:0)
您可以在重定向为查询字符串时传递新创建的对象(@sweet_type.id
)的ID。然后在您重定向到的页面中,您可以使用javascript / jQuery突出显示该页面。请检查redirect_to
帮助方法的documentation,了解向网址添加查询字符串的选项。
突出显示可能就像闪烁整个select
标签或在其周围放置边框或任何您想要的内容。