在http://simple-form.plataformatec.com.br/#usage/collections上似乎只有一些关于 simple_form 2.0 中 grouped_select 功能的文档。该文档提供了以下内容:
f.input :country_id, :collection => @continents, :as => :grouped_select, :group_method => :countries
但这似乎并没有给我足够的背景来让它发挥作用。这就是我所拥有的。
我有三个模型:查询、广告和插入
Ads has_many Insertions, and Insertions belongs_to Ads Inquiry belongs_to Insertion, and Insertions has_many Inquiries
此下拉列表用于查询视图。使用 simple_form 我= f.input :insertion, :collection => @ads
至少可以在下拉列表中输出广告标题列表。我希望 ad.title 充当 optgroup。然后我想让广告插入作为可选内容......就像这样:
<select>
<optgroup label="Ad.Title">
<option value="Ad.Insertion.id">Ad.Insertion.Title</option>
<option value="Ad.Insertion.id">Ad.Insertion.Title</option>
<option value="Ad.Insertion.id">Ad.Insertion.Title</option>
<option value="Ad.Insertion.id">Ad.Insertion.Title</option>
</optgroup>
<optgroup label="Ad.Title">
<option value="Ad.Insertion.id">Ad.Insertion.Title</option>
<option value="Ad.Insertion.id">Ad.Insertion.Title</option>
<option value="Ad.Insertion.id">Ad.Insertion.Title</option>
<option value="Ad.Insertion.id">Ad.Insertion.Title</option>
</optgroup>
</select>
任何人都可以提供有关使此 simple_form 功能正常工作的任何建议吗?我真的很感激!
如果您对如何执行此属性有深入了解,请告诉我是否可以告诉您有关该应用程序的任何其他信息。
提前致谢!
更新:我已经能够使用以下方法部分工作:
= f.input(:insertion_id, :collection => Ad.order(:name), :as => :grouped_select, :group_method => :insertions)
这样做的问题是,我无法指定将哪一列用作显示文本。我欢迎任何意见。