从您的问题中不清楚该区域所填充的模型是什么。
通常,collection_select 用于相关模型之间。
例如。
class Category < ActiveRecord::Base
has_many :products
end
class Product < ActiveRecord::Base
belongs_to :category
end
为产品选择“类别”时,您的视图将具有以下内容:
<%= f.collection_select(:category_id, :id, Category.all, :name, include_blank: true) %>
这样做是将 Product.category_id 指定为使用 Category.id 值填充的属性。这些值来自 Category.all 集合,并且 Category.name 是选择中显示的项目。最后一个(可选)参数表示包含一个空白条目。
您可能需要以下内容:
<%= f.collection_select(:map_id, :id, @map, :area) %>
但是,如果您尝试填充的模型具有区域属性(而不是链接到地图的 ID),您可能需要使用:
<%= f.collection_select(:area, :area, @map, :area) %>
这指定接收表的 area 属性将填充 Map 的 area 属性,该属性也用作 select 中的“描述”。