以多种选择形式显示以前选择的选项(轨道)

时间:2011-11-17 18:22:45

标签: ruby-on-rails ruby-on-rails-3

我已经构建了一个多选表单(在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中已经存在的内容)。是否有一种简单的方法可以让轨道显示以前选择的内容?我很想不要切换到复选框。

在我的匹配配置文件模型中(对应于存储excluded_sources的表),我有这个:

serialize :excluded_sources

1 个答案:

答案 0 :(得分:3)

最终成为相关部分:

: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 %>