Отображать ранее выбранные варианты в нескольких вариантах (рельсы)

Я построил многоэкранную форму (изнутри form_for) следующим образом:

<div>
 <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>

это хорошо работает для того, что мне нужно. Единственная проблема заключается в том, что когда я возвращаюсь к странице, на которой отображаются варианты, я не вижу того, что было ранее выбрано (т.е. Того, что уже находится в БД во время рендеринга). Есть ли простой способ получить рельсы для отображения того, что было ранее выбрано? Я бы предпочел не переключаться на флажки.

в моей модели сопоставленных профилей (соответствующая таблице, в которой хранятся исключенные_источники), у меня есть это:

serialize :excluded_sources
1 ответ

это оказалось подходящей частью:

:selected => matching_profile.send(:excluded_sources)

здесь:

<div><code>&lt;h4&gt;Exclude customers from source:&lt;/h4&gt;
&lt;%= f.select :excluded_sources, options_for_select(User.select(:source).group(:source).order(:source).map {|u| [u.source,u.source]}, :selected =&gt; matching_profile.send(:excluded_sources)), {:include_blank =&gt; false}, {:multiple =&gt; true} %&gt;
&lt;%= f.error_message_on :excluded_sources %&gt;</code>
</div>

licensed under cc by-sa 3.0 with attribution.