0

对于关联的对象实例,我有以下选择:

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

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

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

如何从 ID 中预选选项值?

4

2 回答 2

1

您需要使用options_from_collection_for_selectwhich 允许您指定要选择的选项

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

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

<%= f.select :shop_id, options_from_collection_for_select(Shop.all, :id, :name, 17) %>
于 2013-08-27T03:23:41.823 回答
1

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

   def new
     @your_model = YourModel.new(shop_id: 10)
   end
于 2013-08-27T03:25:49.550 回答