Обновлено: 16 января 2019 г.
Поиск, сортировка и разбивка на страницы (GitHub)
Нашим последним шагом будет реализация функций поиска, сортировки и разбивки на страницы. Сделаем это с помощью Rummage.Phoenix 1.0.0.
ПРИМЕЧАНИЕ. На момент публикации этого сообщения в версии 1.2.0 есть ошибки, которые делают ее непригодной для использования, а над 2.0 все еще ведутся работы. Я обновлю это снова, когда выйдет 2.0.
На первом этапе мы добавим {:rummage_phoenix, git: “https://github.com/thebrianemory/rp_catcasts"}
к нашим зависимостям. Это версия, в которой все классы CSS уже обновлены. По умолчанию rummage_phoenix
использует Bootstrap, а мы используем Tailwind. Это избавит нас от необходимости обновлять классы в нашей зависимости или добавлять собственный CSS.
Поскольку rummage_phoenix
ожидает другую версию Phoenix, а rummage_ecto
(который установлен вместе с rummage_phoenix
) ожидает другую версию ecto
, нам нужно будет обновить эти строки в нашем mix.exs
.
ПРИМЕЧАНИЕ. Несмотря на то, что ecto_sql
устанавливает ecto
, нам нужно будет добавить ecto
в качестве зависимости, чтобы мы могли ее переопределить.
После запуска mix deps.get
мы перейдем к нашему config.exs
, добавим нашу конфигурацию для Rummage Phoenix и перезапустим наш сервер (8033ae2).
Затем мы добавим use Rummage.Ecto
в наш video.ex
модуль.
Затем мы добавим use Rummage.Phoenix.View
к нашему video_view_ex
(d04729c).
Нам нужно будет добавить Rummage в наш VideoController
. Для этого мы добавим use Rummage.Phoenix.Controller
, добавим псевдоним для Catcasts.Repo
и обновим действие index
внутри нашего VideoController
( 29efa3c ).
Теперь мы готовы обновить нашу страницу индекса видео для отображения кнопок нумерации страниц, добавить форму поиска и добавить возможность сортировки наших видео.
Внутри нашего видео video/index.html.eex
мы добавим <%= pagination_link(@conn, @rummage) %>
в новый div, чтобы отображать наши кнопки нумерации страниц (04906dd).
Если вы добавили более пяти видео, теперь вы сможете увидеть свои кнопки нумерации страниц.
Мы можем добавить функции сортировки и поиска с помощью некоторых помощников, которые мы получили от Rummage.Phoenix
. Мы добавим сортировку и строку поиска под заголовком страницы с видео о кошках (74f061f).
На нашей индексной странице теперь есть три ссылки, которые мы можем использовать для сортировки видео, и окно поиска для поиска видео по названию. Давайте проведем mix test
последний прогон, чтобы убедиться, что все наши тесты по-прежнему проходят! Если вы заинтересованы в развертывании своего приложения, в Phoenix docs есть отличное руководство по развертыванию на Heroku (которое является бесплатным!).
Вы можете посетить https://www.catcasts.com, чтобы увидеть мою работу!
Часть 1: Настройка
Часть 2: Использование Tailwind CSS
Часть 3: Панель навигации, ошибки и домашняя страница
Часть 4: Использование Google Ueberauth
Часть 5: Настройка текущего пользователя
Часть 6: Использование API YouTube
Часть 7: Настройка авторизации
Часть 8: Делаем все лучше
Часть 9: Поиск, сортировка, разбивка на страницы
Далее:
Бонус за часть 10: Использование программы форматирования кода Elixir 1.6
Подписывайтесь на меня в Twitter @thebrianemory. Следуйте за мной здесь, нажмите на руки ниже, чтобы выразить признательность, оставьте комментарий и свяжитесь с нами!