В функции поиска моего приложения, где пользователь может ввести текст для поиска и выбрать категорию (тему) из выпадающего списка.
В действии do_search в моем контроллере я нахожу курсы, выполняя Subject.find (params [: subject]). Курсов где params [: subject] s_id (идентификатор субъекта) каждого субъекта ("1234-123", "4123-232", ...).
При запуске сервера я пытался выполнить поиск, но нет Результат найден. Я также проверил это в консоли rails, но также соответствует 0.
Это код действия do_search в моем контроллере:
def do_search
if params[:subject].blank? && params[:search_text].blank?
@courses = Course.all
elsif !params[:subject].blank? && !params[:search_text].blank?
@courses = Subject.find(params[:subject]).courses.where("UPPER(name) LIKE ?", "%#{params[:search_text].upcase}%")
elsif !params[:subject].blank?
@courses = Subject.find(params[:subject]).courses
else
@courses = Course.where("UPPER(name) LIKE ?", "%#{params[:search_text].upcase}%")
end
return @courses
end
Схема: курсы - предметы: многие - to-many
субъектов
- s_id (идентификатор субъекта): строка
- имя: строка
курсы
содержит
- course_id: integer (первичный ключ, созданный ActiveRecord для каждого курса)
- subject_id: integer (первичный ключ, созданный ActiveRecord для каждого предмета)