显示之前介绍的值下拉菜单Ruby on Rails

时间:2015-03-13 19:22:59

标签: ruby-on-rails-4

我的应用有帖子和类别。

创建新帖子时,它会显示所有空白字段,并显示一个下拉菜单以选择类别。

填写完成后,用户点击预览按钮,该按钮显示将要发布的帖子。然后他有两个按钮,发布进行更改

点击更改按钮后,应用会返回创建视图并加载所有字段,但下拉菜单不会保留之前选择的类别。

是否有实现此功能的方法?在我的代码的某些行下面:

在我的新观点中:

  <%= select_tag(:category_id, options_for_select(@categories), :prompt => "Select one!") %>

在我的新控制器中:

  @categories = Category.all.map{|c| [ c.name, c.id ] }

单击按钮进行更改

时,在我的创建控制器中
  @categories = Category.all.map{|c| [ c.name, c.id ] }   
  render :new 

2 个答案:

答案 0 :(得分:2)

您可以将所选项目作为options_for_select

中的一个选项传递
<%= select_tag(:category_id, options_for_select(@categories, selected: :category_id), :prompt => "Select one!") %>

答案 1 :(得分:1)

SteveTurczyn的回答有效,但我必须以这种方式传递当前选中的:category_id:

<%= select_tag(:category_id, options_for_select(@categories, selected: @post.category_id), :prompt => "Select one!") %>