ЛЮБОЕ понимание здесь очень ценится.
Изнутри form_for в рельсах, я вставляю несколько значений выбора в базу данных, например:
<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>
I'mзатем пытается извлечь значение из базы данных следующим образом:
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
- ""
это то, что значение в базе данных, но, кажется, задыхается, когда ядоступ к нему таким образом.Какой правильный способ сделать это?
позвольте мне спросить это так.Выбор пользователя из множественного выбора вставляется в поле базы данных следующим образом:
---
- ""
- B
- "
Есть ли лучший, более полезный способ сохранить то, что было выбрано в БД?