Ruby on rails 在Rails 3中从数据库中选择可变选择值时出现问题

Ruby on rails 在Rails 3中从数据库中选择可变选择值时出现问题,ruby-on-rails,forms,activerecord,multiple-select,Ruby On Rails,Forms,Activerecord,Multiple Select,这里的任何见解都是非常感谢的 在rails中的表单_中,我将多个select值插入到数据库中,如下所示: <div class="new-partner-form"> <%= form_for [:admin, matching_profile.partner, matching_profile], :html => {:id => "edit_profile", :multipart => true} do |f| %> <%= f.submi

这里的任何见解都是非常感谢的

在rails中的表单_中,我将多个select值插入到数据库中,如下所示:

<div class="new-partner-form">
<%= form_for [:admin, matching_profile.partner, matching_profile],  :html => {:id => "edit_profile", :multipart => true} do |f| %>
<%= f.submit "Submit", :class => "hidden" %>    
  <div class="rounded-block quarter-wide radio-group">
    <h4>Exclude customers from source:</h4>
     <%= f.select :source, User.select(:source).group(:source).order(:source).map {|u| [u.source,u.source]}, {:include_blank => false}, {:multiple => true} %>
    <%= f.error_message_on :source %>
  </div>
def does_not_contain_source(matching_profiles)
  Expression.select(matching_profiles, :source) do |keyword|
    Rails.logger.info("Keyword is : " + keyword)
    @customer_source_tokenizer ||= Tokenizer.new(User.select(:source).where("id = ?", self.owner_id).map {|u| u.source}[0]) #User.select("source").where("id = ?", self.owner_id).to_s)
    @customer_source_tokenizer.divergent?(keyword)
  end
end
但是得到这个:

ExpressionErrors: Bad syntax: --- 
- ""
- B
- ""
这就是数据库中的值,但当我以这种方式访问它时,它似乎会阻塞。正确的方法是什么

让我这样问吧。通过以下方式将用户从多个选择中选择的内容插入db字段:

--- 
- ""
- B
- "

是否有更好、更有用的方法将所选内容存储到数据库中?

这很有帮助。在我的匹配_配置文件模型中:

serialize :excluded_sources
serialize :included_sources