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

Я построил многоэкранную форму (изнутри 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>
<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 %>
</code>
</div>

licensed under cc by-sa 3.0 with attribution.