в моем проекте с рельсами. Я хочу загрузить несколько «источников», в зависимости от настроенных методов исследования. Для исследования пользователь настраивает, какие методы он хочет использовать, эта информация доступна в контроллере как массив строк. С другой стороны есть источники, которые настроены админами, для каждого источника, который мы говорим, для каких исследований полезен источник.Проверьте, задано ли поле из массива строк
Эти источники:
# == Schema Information
#
# Table name: sources
#
# id :integer not null, primary key
# title :string(255)
# url :string(255)
# WebSearch :boolean
# DatabaseSearch :boolean
# LibrarySearch :boolean
# Interview :boolean
@sources = Source.all
Для булевых полей существуют соответствующие модели с точно таким именем. В контроллере я прочитал активированные методы таким образом:
@categories << @question.research_categories.detect{|c| c == params[:type]}
=> @categories = ["WebSearch", "Interview"]
То, что я хочу сделать что-то вроде «Source.where (@categories =?)» И получить только источники с именами, содержащимися в @ категории.
он собирается быть условием ИЛИ? смысл в том, что если одна из категорий имеет истинное значение в столбце? – emaillenin
Хорошая точка от @emaillenin, мой ответ должен был бы немного отличаться, если обязательно, чтобы столбцы, не включенные в '@ category', были ложными. –
- это число категорий, которое будет расти в будущем, или будет всегда 4? – emaillenin