У меня возникли проблемы с отображением конкретных записей базы данных на странице. У меня есть модель курса со столбцом: класс как целое число, и я создал несколько курсов с разными значениями оценки, и я настроил контроллер классов с действиями, представляющими каждый класс (от 1 до 12), поэтому я могу отображать курсы на отдельных страницах в зависимости от его стоимости, которая была указана в форме при создании нового курса. Это, как им пытается достичь этого в контроллере сортов:Ошибка отображения конкретных записей базы данных с помощью find_by (rails)
class GradesController < ApplicationController
def grade1
@courses = Course.find_by grade: '1'
end
def grade2
@courses = Course.find_by grade: '2'
end
.
.
.
end
Проблема в том, что, когда я иду на странице им, что конкретный Grade получаю следующее сообщение об ошибке:
NoMethodError in Grades#grade8 undefined method `each' for nil:NilClass
Что я делаю неправильно в точку? Как я могу отображать только те курсы, которые имеют определенное значение на странице?
'find_by' только собирается возвращать 1 результат. В вашем случае вам нужно будет использовать 'where'. Поскольку он уже находится в контроллере класса, вы можете отобразить список курсов для оценки в классах # show, если у вас установлена связь. Кроме того, покажите нам действие класса 8, в котором происходит ошибка. – lusketeer