我已经建立了一个多选择表单(从form_for中),像这样:
<div class="rounded-block quarter-wide radio-group">
<h4>Exclude customers from source:</h4>
<%= f.select :excluded_sources, options_for_select(User.select(:source).group(:source).order(:source).map {|u| [u.source,u.source]}), {:include_blank => false}, {:multiple => true} %>
<%= f.error_message_on :excluded_sources %>
</div>
这很好地满足了我的需要。唯一的问题是,当我回到显示选择的页面时,我看不到以前选择的内容(即在渲染时已经在DB中)。是否有一种简单的方法可以让rails显示之前选择的内容?我更希望不要切换到复选框。
在我的匹配配置文件模型(对应于存储excluded_sources的表)中,我有如下内容:serialize :excluded_sources
这篇文章最终成为了相关的文章:
:selected => matching_profile.send(:excluded_sources)
:
<div class="rounded-block quarter-wide radio-group">
<h4>Exclude customers from source:</h4>
<%= f.select :excluded_sources, options_for_select(User.select(:source).group(:source).order(:source).map {|u| [u.source,u.source]}, :selected => matching_profile.send(:excluded_sources)), {:include_blank => false}, {:multiple => true} %>
<%= f.error_message_on :excluded_sources %>