У меня есть список фильмов, а также их рейтинги. В верхней части моей страницы у меня есть форма, которая дает список флажков, которые показывают каждый доступный рейтинг (G, PG-13 и т. Д.). Как только пользователь нажимает флажок (ы) и показывается, я просто хочу, чтобы выбранные фильмы отображались.Фильтрация списка с использованием флажков
В моем методе индекса у меня есть переменная экземпляра, называемая @filtered_ratings
, которая собирает ключи из проверенных фильмов. Моя идея состояла в том, чтобы изменить @movies
в моем контроллере, используя метод find и сопоставляя ключи от @filtered_ratings
к списку фильмов. Однако, я думаю, что я делал это неправильно, так как не могу заставить его работать. Я пробовал несколько способов, таких как @movies=Movie.find(params[:id] = @filtered_ratings)
, но я знаю, что это неверно. Какие-либо предложения?
Ваше предположение верно; однако я просто использую блок для генерации всего. Кроме того, когда я изменил свой контроллер на ваш предложенный код, он полностью удаляет список фильмов. Наконец, нам прямо сказали, что «найти» будет самым простым способом сделать это. – Anconia
Если вам нужно использовать «find», вместо этого вы можете использовать Movie.find (: all, conditions: ["rating IN (?)", Params [: ratings]]), но это приводит к тому же SQL-запросу. Если этот код удаляет список фильмов, параметры [: рейтинги], вероятно, либо ноль, либо пустые. Какие значения вы видите в хеше params? – cdesrosiers
В верхней части моей индексной страницы я положил '= params [: ratings] .keys', а отображаемые значения были значениями отмеченных. Поэтому я уверен, что параметр hash не пуст. – Anconia