2011-11-17 111 views
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> 

这很适合我的需要。唯一的问题是,当我回到显示选项的页面时,我看不到之前选择的内容(即在渲染时已经在数据库中的内容)。有没有简单的方法让轨道显示之前选择的内容?我宁愿不切换到复选框。

在我的匹配曲线模型

(对应于存储excluded_sources表),我有这个:

serialize :excluded_sources 
+0

如何在db中存储'excluded_sources'?序列化的列,逗号分隔值或在另一个表中? – rubyprince

+0

连载列。我会更新我的问题 – Ramy

回答

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

+0

这是什么是matching_profile? –

相关问题