Я использую Rails 4 с SunSpot и моя установка:Как разобрать множественного выбора параметра в рельсах для SunSpot
searchable do
text :title
text :body
integer :technicalarea_ids, :references => Technicalarea, :multiple => true
integer :targetgroup_ids, :references => Targetgroup, :multiple => true
integer :organization_id, :references => Organization
integer :series_id, :references => Series` searchable do
end
Моя форма выбора технической области:
<%= collection_select :technicalarea_ids, :id, Technicalarea.all, :id, :name,{}, { :multiple => true, :include_blank => false} %>
и мой поиск контроллер
@search = Resource.search do
fulltext params[:search_term]
with(:technicalarea_ids, params[:technicalarea_ids])
end
по форме представить Params [: technicalarea_ids] показать эту
-- !ruby/hash:ActionController::Parameters
id:
- ''
- '2'
- '3'
- '4'
два вопроса ... один - это код поиска() не работает, если есть пробел. Я могу позаботиться о том, что с .reject { |c| c.empty? }
функции .... , но только если его чистый массив без ид: участие в начале
право я получаю эту ошибку:
undefined method `to_i' for {"id"=>["", "2", "3", ,4"]}:ActionController::Parameters
Как может я послал параметр из формы выглядит как: technicalarea_ids => [ "", "2", "3", 4" ]
без предшествующего "ID" =>
Хорошо, я решил свою собственную проблему .... – mrdinghy