在select中动态预选值

时间:2013-08-27 03:16:08

标签: ruby-on-rails

我为关联的对象实例选择了以下内容:

<%= f.select :shop_id, Shop.all.map {|shop| [shop.name, shop.id]} %>

我想动态预选其中一个选项值,即不时不同。

我已经尝试了其他答案中给出的内容(例如https://stackoverflow.com/a/5216513/1417223),但没有发生任何事情。

如何从ID中预选选项值?

2 个答案:

答案 0 :(得分:1)

您需要使用options_from_collection_for_select来指定选择哪个选项

文档: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-options_from_collection_for_select

在此示例中,将选择ID为17的Shop

<%= f.select :shop_id, options_from_collection_for_select(Shop.all, :id, :name, 17) %>

答案 1 :(得分:1)

由于你使用了form_for,所以只需在控制器中设置值,它就不需要修改视图。

   def new
     @your_model = YourModel.new(shop_id: 10)
   end