Вы устали от скучных и непонятных URL-адресов на панели активного администратора? Хотите улучшить взаимодействие с пользователем и сделать ваши URL-адреса более дружелюбными и привлекательными? Не смотрите дальше! В этой статье мы рассмотрим интеграцию драгоценного камня Friendly_ID с Active Admin, что позволит вам создавать удобные URL-адреса для ваших ресурсов администратора. Итак, давайте углубимся и прокачаем вашего активного администратора!
Чтобы интегрировать Friendly_ID с Active Admin, выполните следующие действия:
Шаг 1. Добавьте Gem в свой Gemfile
gem 'friendly_id'
Шаг 2. Создайте и запустите миграцию
rails generate friendly_id
rails db:migrate
Шаг 3. Настройте модель
Предположим, у нас есть ресурс активного администратора под названием «Продукт». Чтобы сделать URL-адреса более удобными для пользователя, мы будем использовать название продукта вместо его идентификатора. Откройте файл product.rbв каталоге app/modelsи добавьте следующий код:
extend FriendlyId
friendly_id :name, use: :slugged
Этот фрагмент кода расширяет модуль Friendly_ID и настраивает атрибут nameв качестве источника для создания пула. Опция use: :sluggedуказывает Friendly_ID использовать модуль sluggedдля создания пула.
Шаг 4. Обновите ресурс активного администратора.
Откройте файл admin/products.rbи добавьте метод friendly_idв блок конфигурации активного администратора:
ActiveAdmin.register Product do
permit_params :name, :description
before_save do |product|
product.slug = product.name.parameterize
end
form do |f|
f.inputs do
f.input :name
f.input :description
end
f.actions
end
end
В этом фрагменте кода мы используем обратный вызов before_saveдля автоматического создания фрагмента на основе названия продукта. Метод parameterizeгарантирует, что фрагмент удобен для URL-адресов, заменяя пробелы дефисами и удаляя специальные символы.
Шаг 5: протестируйте!
При наличии конфигурации и кода запустите сервер Rails и перейдите на панель управления Active Admin. Создайте новый продукт, и вы заметите, что URL-адрес теперь содержит название продукта вместо идентификатора.
Поздравляем! Вы успешно интегрировали Friendly_ID с Active Admin, сделав ваши URL-адреса более удобными для пользователя и оптимизированными для SEO. Пользователи и поисковые системы оценят описательные и содержательные URL-адреса, которые могут положительно повлиять на видимость вашего сайта и его рейтинг в поисковых системах.
Так зачем ждать? Украсьте свою панель Active Admin с помощью Friendly_ID и поднимите удобство использования на новый уровень!
Не забудьте обновить Gemfileи запустить bundle installпосле добавления драгоценного камня Friendly_ID.
Удачного программирования!